本篇文章主要介紹了Python使用plotly繪製資料圖表的方法,實例分析了plotly繪製的技巧,具有一定的參考價值,有興趣的小夥伴們可以參考一下
##導語:使用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)這五種典型的圖表基本上涵蓋了大部分類型的測試數據,各位小夥伴可以加以變形繪製出更多的漂亮圖示。 ###
以上是分享Python如何利用plotly繪製資料圖表的案例(圖文)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

使用NumPy創建多維數組可以通過以下步驟實現:1)使用numpy.array()函數創建數組,例如np.array([[1,2,3],[4,5,6]])創建2D數組;2)使用np.zeros(),np.ones(),np.random.random()等函數創建特定值填充的數組;3)理解數組的shape和size屬性,確保子數組長度一致,避免錯誤;4)使用np.reshape()函數改變數組形狀;5)注意內存使用,確保代碼清晰高效。

播放innumpyisamethodtoperformoperationsonArraySofDifferentsHapesbyAutapityallate AligningThem.itSimplifififiesCode,增強可讀性,和Boostsperformance.Shere'shore'showitworks:1)較小的ArraySaraySaraysAraySaraySaraySaraySarePaddedDedWiteWithOnestOmatchDimentions.2)

forpythondataTastorage,choselistsforflexibilityWithMixedDatatypes,array.ArrayFormeMory-effficityHomogeneousnumericalData,andnumpyArraysForAdvancedNumericalComputing.listsareversareversareversareversArversatilebutlessEbutlesseftlesseftlesseftlessforefforefforefforefforefforefforefforefforefforlargenumerdataSets; arrayoffray.array.array.array.array.array.ersersamiddreddregro

Pythonlistsarebetterthanarraysformanagingdiversedatatypes.1)Listscanholdelementsofdifferenttypes,2)theyaredynamic,allowingeasyadditionsandremovals,3)theyofferintuitiveoperationslikeslicing,but4)theyarelessmemory-efficientandslowerforlargedatasets.

toAccesselementsInapyThonArray,useIndIndexing:my_array [2] accessEsthethEthErlement,returning.3.pythonosezero opitedEndexing.1)usepositiveandnegativeIndexing:my_list [0] fortefirstElment,fortefirstelement,my_list,my_list [-1] fornelast.2] forselast.2)

文章討論了由於語法歧義而導致的Python中元組理解的不可能。建議使用tuple()與發電機表達式使用tuple()有效地創建元組。 (159個字符)

本文解釋了Python中的模塊和包裝,它們的差異和用法。模塊是單個文件,而軟件包是帶有__init__.py文件的目錄,在層次上組織相關模塊。

文章討論了Python中的Docstrings,其用法和收益。主要問題:Docstrings對於代碼文檔和可訪問性的重要性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具