Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie einen Fall, wie Python Plotly zum Zeichnen von Datendiagrammen (Bildern und Texten) verwendet.

Teilen Sie einen Fall, wie Python Plotly zum Zeichnen von Datendiagrammen (Bildern und Texten) verwendet.

黄舟
黄舟Original
2017-07-18 11:18:515394Durchsuche

Dieser Artikel stellt hauptsächlich die Methode zum Zeichnen von Datendiagrammen in Python vor. Er analysiert die Techniken des Plotzeichnens anhand von Beispielen. Interessierte Freunde können sich darauf beziehen. Verwendung Das Python-Plotly-Modul wird zum Zeichnen von Stresstestdaten und zum Generieren statischer HTML-Seitenergebnisse zur Anzeige verwendet.

Viele Freunde haben Erfahrung mit Stresstestmodulen während des Entwicklungsprozesses. Nach dem Stresstest verwendet jeder oft gerne Excel, um die Stresstestdaten zu verarbeiten und Datenvisualisierungsansichten zu zeichnen, aber das ist nicht sehr praktisch Verwendung. Datenanzeige auf der Webseite. In diesem Artikel wird die Verwendung des Python-Plotly-Moduls zum Zeichnen von Stresstestdaten und zum Generieren einer statischen HTML-Seite vorgestellt, um die Anzeige der Ergebnisse zu erleichtern.

Einführung in PlotlyPlotly ist ein Diagrammtool, das mit JavaScript entwickelt wurde und eine API für die Interaktion mit gängigen Datenanalysesprachen (z. B als: Python, R, MATLAB). Ausführlichere Informationen finden Sie auf der offiziellen Website https://plot.ly/. Plotly ist in der Lage, mit Benutzerinteraktion wunderschöne Diagramme zu zeichnen.

Python-Plotly-InstallationDieses Dokument stellt hauptsächlich die Verwendung der Python-API von Plotly vor, um mehrere auszuführen Eine einfache Diagrammzeichnung. Weitere Informationen zur Verwendung von Plotly finden Sie unter https://plot.ly/python/

Python-Plotly kann mit pip installiert werden. Am besten installieren und verwenden Sie es in Python Version 2.7 und höher. Wenn Sie die Python2.6-Version verwenden, installieren Sie bitte Python2.7 und das entsprechende Pip.

Plot-Zeichnungsbeispiel

Liniendiagramme

Ploteffekt:

Die generierte HTML-Seite bietet in der oberen rechten Ecke umfangreiche interaktive Tools.

Code:


def line_plots(name):
  '''
  绘制普通线图
  '''
  #数据,x为横坐标,y,z为纵坐标的两项指标,三个array长度相同
  dataset = {'x':[0,1,2,3,4,5,6,7,8,9],
        'y':[5,4,1,3,11,2,6,7,19,20],
        'z':[12,9,0,0,3,25,8,17,22,5]}
  data_g = []
  #分别插入 y, z
  tr_x = Scatter(
    x = dataset['x'],
    y = dataset['y'],
    name = 'y' 
  )
  data_g.append(tr_x)
  tr_z = Scatter(
    x = dataset['x'],
    y = dataset['z'],
    name = 'z' 
  )
  data_g.append(tr_z)
  #设置layout,指定图表title,x轴和y轴名称
  layout = Layout(title="line plots", xaxis={'title':'x'}, yaxis={'title':'value'})
  #将layout设置到图表
  fig = Figure(data=data_g, layout=layout)
  #绘图,输出路径为name参数指定
  pltoff.plot(fig, filename=name)
Streudiagramme

Zeicheneffekt:

Code:


def scatter_plots(name):
  '''
  绘制散点图
  '''
  dataset = {'x':[0,1,2,3,4,5,6,7,8,9],
        'y':[5,4,1,3,11,2,6,7,19,20],
        'text':['5_txt','4_txt','1_txt','3_txt','11_txt','2_txt','6_txt','7_txt','19_txt','20_txt']}

  data_g = []

  tr_x = Scatter(
    x = dataset['x'],
    y = dataset['y'],
    text = dataset['text'],
    textposition='top center',
    mode='markers+text',
    name = 'y' 
  )
  data_g.append(tr_x)

  layout = Layout(title="scatter plots", xaxis={'title':'x'}, yaxis={'title':'value'})
  fig = Figure(data=data_g, layout=layout)
  pltoff.plot(fig, filename=name)
Balkendiagramme

Zeichnungseffekt:

Code:


def bar_charts(name):
  '''
  绘制柱状图
  '''
  dataset = {'x':['Windows', 'Linux', 'Unix', 'MacOS'],
        'y1':[45, 26, 37, 13],
        'y2':[19, 27, 33, 21]}
  data_g = []
  tr_y1 = Bar(
    x = dataset['x'],
    y = dataset['y1'],
    name = 'v1'
  )
  data_g.append(tr_y1)

  tr_y2 = Bar(
    x = dataset['x'],
    y = dataset['y2'],
    name = 'v2'
  )
  data_g.append(tr_y2)
  layout = Layout(title="bar charts", xaxis={'title':'x'}, yaxis={'title':'value'})
  fig = Figure(data=data_g, layout=layout)
  pltoff.plot(fig, filename=name)
Kreisdiagramme

Zeichnungseffekt:

Code:


def pie_charts(name):
  '''
  绘制饼图
  '''
  dataset = {'labels':['Windows', 'Linux', 'Unix', 'MacOS', 'Android', 'iOS'],
        'values':[280, 25, 10, 100, 250, 270]} 
  data_g = []
  tr_p = Pie(
    labels = dataset['labels'],
    values = dataset['values']
  )
  data_g.append(tr_p)
  layout = Layout(title="pie charts")
  fig = Figure(data=data_g, layout=layout)
  pltoff.plot(fig, filename=name)
gefüllter Bereich -plots

In diesem Beispiel wird ein gestapeltes Liniendiagramm mit Fülleffekt gezeichnet, das für die Analyse von Daten mit gestapelten Prozentattributen geeignet ist

Zeichnungseffekt:

Code:


def filled_area_plots(name):
  '''
  绘制堆叠填充的线图
  '''
  dataset = {'x':[0,1,2,3,4,5,6,7,8,9],
        'y1':[5,4,1,3,11,2,6,7,19,20],
        'y2':[12,9,0,0,3,25,8,17,22,5],
        'y3':[13,22,46,1,15,4,18,11,17,20]}

  #计算y1,y2,y3的堆叠占比
  dataset['y1_stack'] = dataset['y1']
  dataset['y2_stack'] = [y1+y2 for y1, y2 in zip(dataset['y1'], dataset['y2'])]
  dataset['y3_stack'] = [y1+y2+y3 for y1, y2, y3 in zip(dataset['y1'], dataset['y2'], dataset['y3'])]

  dataset['y1_text'] = ['%s(%s%%)'%(y1, y1*100/y3_s) for y1, y3_s in zip(dataset['y1'], dataset['y3_stack'])]
  dataset['y2_text'] = ['%s(%s%%)'%(y2, y2*100/y3_s) for y2, y3_s in zip(dataset['y2'], dataset['y3_stack'])]
  dataset['y3_text'] = ['%s(%s%%)'%(y3, y3*100/y3_s) for y3, y3_s in zip(dataset['y3'], dataset['y3_stack'])]

  data_g = []
  tr_1 = Scatter(
    x = dataset['x'],
    y = dataset['y1_stack'],
    text = dataset['y1_text'],
    hoverinfo = 'x+text',
    mode = 'lines',
    name = 'y1', 
    fill = 'tozeroy' #填充方式: 到x轴
  )
  data_g.append(tr_1)

  tr_2 = Scatter(
    x = dataset['x'],
    y = dataset['y2_stack'],
    text = dataset['y2_text'],
    hoverinfo = 'x+text',
    mode = 'lines',
    name = 'y2', 
    fill = 'tonexty' #填充方式:到下方的另一条线
  )
  data_g.append(tr_2)

  tr_3 = Scatter(
    x = dataset['x'],
    y = dataset['y3_stack'],
    text = dataset['y3_text'],
    hoverinfo = 'x+text',
    mode = 'lines',
    name = 'y3',
    fill = 'tonexty'
  )
  data_g.append(tr_3)

  layout = Layout(title="field area plots", xaxis={'title':'x'}, yaxis={'title':'value'})
  fig = Figure(data=data_g, layout=layout)
  pltoff.plot(fig, filename=name)
Zusammenfassung

Dieser Artikel stellt vor, wie man Datendiagramme mit Python zeichnet. Plotly umfassen die Beispiele Liniendiagramme, Streudiagramme, Balkendiagramme, Kreisdiagramme und gefüllte Flächendiagramme, die im Wesentlichen die fünf typischen Diagramme abdecken. Die meisten Arten von Testdaten können transformiert werden, um schönere Symbole zu zeichnen.

Das obige ist der detaillierte Inhalt vonTeilen Sie einen Fall, wie Python Plotly zum Zeichnen von Datendiagrammen (Bildern und Texten) verwendet.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn