国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python使用plotly繪制數據圖表的方法

2019-11-25 16:00:40
字體:
來源:轉載
供稿:網友

導語:使用 python-plotly 模塊來進行壓測數據的繪制,并且生成靜態 html 頁面結果展示。

不少小伙伴在開發過程中都有對模塊進行壓測的經歷,壓測結束后大家往往喜歡使用Excel處理壓測數據并繪制數據可視化視圖,但這樣不能很方便的使用web頁面進行數據展示。本文將介紹使用python-plotly模塊來進行壓測數據的繪制,并且生成靜態html頁面方便結果展示。

Plotly簡介

Plotly是一款使用JavaScript開發的制圖工具,提供了與主流數據分析語言交互的API(如:Python, R, MATLAB)。大家可以到官網 https://plot.ly/ 了解更多詳細的信息。Plotly能夠繪制具有用戶交互功能的精美圖表。

Python-Plotly 安裝

本文檔主要是介紹使用plotly的Python API來進行幾種簡單圖表的繪制,更多Plotly的用法請參考 https://plot.ly/python/

Python-Plotly可以使用pip安裝,并且最好在Python2.7版本及以上安裝使用,如果使用Python2.6版本,請自行安裝Python2.7和對應的pip。

Plotly繪圖實例

line-plots

繪圖效果:

生成的html頁面在右上角提供了豐富的交互工具。

代碼:

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)

scatter-plots

繪圖效果:

代碼:

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)

bar-charts

繪圖效果:

代碼:

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)

pie-charts

繪圖效果:

代碼:

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)

filled-area-plots

本例是繪制具有填充效果的堆疊線圖,適合分析具有堆疊百分比屬性的數據

繪圖效果:

代碼:

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)

小結

本文介紹了利用python-plotly繪制數據圖的方法,實例中 線圖(line plots)、散點圖(scatter plots)、柱狀圖(bar charts)、餅圖(pie charts)以及填充堆疊線圖(filled area plots)這五種典型的圖表基本上涵蓋了大部分類型的測試數據,各位小伙伴可以加以變形繪制出更多的漂亮圖標。

文中所示代碼:test_plotly_jb51.rar

參考資料

1. https://plot.ly/python/basic-charts/

2. https://images.plot.ly/plotly-documentation/images/python_cheat_sheet.pdf

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 藁城市| 宁强县| 西贡区| 镇安县| 民县| 建瓯市| 广灵县| 大荔县| 拜泉县| 阳城县| 宜城市| 龙门县| 武宣县| 青神县| 司法| 墨脱县| 普宁市| 荣成市| 海伦市| 阜平县| 新野县| 左云县| 通山县| 仁怀市| 桦甸市| 进贤县| 岑溪市| 玉山县| 都江堰市| 万山特区| 徐汇区| 诸城市| 道真| 海晏县| 阿瓦提县| 内江市| 铁力市| 建始县| 建始县| 嵊州市| 井冈山市|