Maison  >  Article  >  développement back-end  >  Partagez un cas de la façon dont Python utilise plotly pour dessiner des graphiques de données (images et textes)

Partagez un cas de la façon dont Python utilise plotly pour dessiner des graphiques de données (images et textes)

黄舟
黄舟original
2017-07-18 11:18:515394parcourir

Cet article présente principalement la méthode d'utilisation de plotly pour dessiner des graphiques de données en Python. Il analyse les techniques de dessin de plotly avec des exemples. Il a une certaine valeur de référence.

Introduction : Utilisation Le module python-plotly est utilisé pour dessiner des données de tests de résistance et générer des résultats de page HTML statiques à afficher.

De nombreux amis ont l'expérience des modules de tests de stress pendant le processus de développement. Après le test de stress, tout le monde aime souvent utiliser Excel pour traiter les données du test de stress et dessiner des vues de visualisation des données, mais ce n'est pas très pratique à réaliser. utilisation. Affichage des données sur la page Web. Cet article présentera l'utilisation du module python-plotly pour dessiner des données de tests de résistance et générer une page HTML statique pour faciliter l'affichage des résultats.

Introduction à Plotly

Plotly est un outil de création de graphiques développé à l'aide de JavaScript et fournit une API pour interagir avec les langages d'analyse de données traditionnels (tels comme : Python, R, MATLAB). Vous pouvez vous rendre sur le site officiel https://plot.ly/ pour des informations plus détaillées. Plotly est capable de dessiner de superbes graphiques avec l'interaction de l'utilisateur.

Installation Python-Plotly

Ce document présente principalement l'utilisation de l'API Python de plotly pour effectuer plusieurs Un simple dessin de graphique. Pour plus d'utilisation de Plotly, veuillez vous référer à https://plot.ly/python/

Python-Plotly peut être installé en utilisant pip, et il est préférable de l'installer et de l'utiliser en Python. version 2.7 et supérieure. Si vous utilisez la version Python2.6, veuillez installer Python2.7 et le pip correspondant vous-même.

Exemple de dessin de tracé

tracés linéaires

Effet de tracé :

La page HTML générée fournit de riches outils interactifs dans le coin supérieur droit.

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)

nuages ​​de points

Effet de dessin :

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)

graphiques à barres

Effet de dessin :

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)

camemberts

Effet de dessin :

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)

zone remplie -plots

Cet exemple consiste à dessiner un graphique linéaire empilé avec effet de remplissage, adapté à l'analyse de données avec des attributs de pourcentage empilés

Effet de dessin :

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)

Résumé

Cet article présente comment dessiner des graphiques de données à l'aide de python- plotly , les exemples incluent des tracés linéaires, des nuages ​​de points, des graphiques à barres, des diagrammes circulaires et des tracés à zones remplies, qui couvrent essentiellement les cinq graphiques typiques. Pour la plupart des types de données de test, vous pouvez les déformer et dessiner de plus belles icônes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn