最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用plotly繪制數(shù)據(jù)圖表的方法

 更新時(shí)間:2017年07月18日 10:11:39   作者:邵靖  
本篇文章主要介紹了Python使用plotly繪制數(shù)據(jù)圖表的方法,實(shí)例分析了plotly繪制的技巧,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

導(dǎo)語(yǔ):使用 python-plotly 模塊來(lái)進(jìn)行壓測(cè)數(shù)據(jù)的繪制,并且生成靜態(tài) html 頁(yè)面結(jié)果展示。

不少小伙伴在開(kāi)發(fā)過(guò)程中都有對(duì)模塊進(jìn)行壓測(cè)的經(jīng)歷,壓測(cè)結(jié)束后大家往往喜歡使用Excel處理壓測(cè)數(shù)據(jù)并繪制數(shù)據(jù)可視化視圖,但這樣不能很方便的使用web頁(yè)面進(jìn)行數(shù)據(jù)展示。本文將介紹使用python-plotly模塊來(lái)進(jìn)行壓測(cè)數(shù)據(jù)的繪制,并且生成靜態(tài)html頁(yè)面方便結(jié)果展示。

Plotly簡(jiǎn)介

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

Python-Plotly 安裝

本文檔主要是介紹使用plotly的Python API來(lái)進(jìn)行幾種簡(jiǎn)單圖表的繪制,更多Plotly的用法請(qǐng)參考 https://plot.ly/python/

Python-Plotly可以使用pip安裝,并且最好在Python2.7版本及以上安裝使用,如果使用Python2.6版本,請(qǐng)自行安裝Python2.7和對(duì)應(yīng)的pip。

Plotly繪圖實(shí)例

line-plots

繪圖效果:

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

代碼:

def line_plots(name):
  '''
  繪制普通線圖
  '''
  #數(shù)據(jù),x為橫坐標(biāo),y,z為縱坐標(biāo)的兩項(xiàng)指標(biāo),三個(gè)array長(zhǎng)度相同
  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)
  #設(shè)置layout,指定圖表title,x軸和y軸名稱
  layout = Layout(title="line plots", xaxis={'title':'x'}, yaxis={'title':'value'})
  #將layout設(shè)置到圖表
  fig = Figure(data=data_g, layout=layout)
  #繪圖,輸出路徑為name參數(shù)指定
  pltoff.plot(fig, filename=name)

scatter-plots

繪圖效果:

代碼:

def scatter_plots(name):
  '''
  繪制散點(diǎn)圖
  '''
  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

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

繪圖效果:

代碼:

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]}

  #計(jì)算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)

小結(jié)

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

文中所示代碼:test_plotly_jb51.rar

參考資料

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python分布式編程實(shí)現(xiàn)過(guò)程解析

    python分布式編程實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了python分布式編程實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • anaconda如何創(chuàng)建和刪除環(huán)境

    anaconda如何創(chuàng)建和刪除環(huán)境

    這篇文章主要介紹了anaconda如何創(chuàng)建和刪除環(huán)境,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • python批量下載圖片的三種方法

    python批量下載圖片的三種方法

    用python批量下載一個(gè)網(wǎng)頁(yè)中的圖片,需要用到擴(kuò)展庫(kù)來(lái)解析html代碼
    2013-04-04
  • 詳解如何修改python中字典的鍵和值

    詳解如何修改python中字典的鍵和值

    這篇文章主要介紹了詳解如何修改python中字典的鍵和值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python屬性私有化詳解

    Python屬性私有化詳解

    私有化是為了實(shí)現(xiàn)更好的封裝形式。能隱藏屬性,不被隨意修改。以前置雙下劃線__屬性/方法名定義,但是結(jié)尾不能是雙下劃線。如果不讓某些屬性在類外部被隨意更改,可設(shè)置成私有屬性。在類定義的內(nèi)部可以訪問(wèn)
    2023-02-02
  • python實(shí)現(xiàn)數(shù)據(jù)圖表

    python實(shí)現(xiàn)數(shù)據(jù)圖表

    plotly是現(xiàn)代平臺(tái)的敏捷商業(yè)智能和數(shù)據(jù)科學(xué)庫(kù),它作為一款開(kāi)源的繪圖庫(kù),可以應(yīng)用于Python、R、MATLAB、Excel、JavaScript和jupyter等多種語(yǔ)言,主要使用的js進(jìn)行圖形繪制,實(shí)現(xiàn)過(guò)程中主要就是調(diào)用plotly的函數(shù)接口,底層實(shí)現(xiàn)完全被隱藏,便于初學(xué)者的掌握。
    2017-07-07
  • 解決pyecharts在jupyter notebook中使用報(bào)錯(cuò)問(wèn)題

    解決pyecharts在jupyter notebook中使用報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了解決pyecharts在jupyter notebook中使用報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例

    從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例

    今天小編就為大家分享一篇從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python實(shí)現(xiàn)鼠標(biāo)自動(dòng)在屏幕上隨機(jī)移動(dòng)功能

    Python實(shí)現(xiàn)鼠標(biāo)自動(dòng)在屏幕上隨機(jī)移動(dòng)功能

    這篇文章主要介紹了Python實(shí)現(xiàn)鼠標(biāo)自動(dòng)在屏幕上隨機(jī)移動(dòng)功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。還等什么?一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python如何使用組合方式構(gòu)建復(fù)雜正則

    Python如何使用組合方式構(gòu)建復(fù)雜正則

    在Python中正則寫復(fù)雜了很麻煩,難寫難調(diào)試,其實(shí)只需要兩個(gè)函數(shù),就能用簡(jiǎn)單正則組合構(gòu)建復(fù)雜正則,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12

最新評(píng)論

太湖县| 陆川县| 武穴市| 阿鲁科尔沁旗| 兰西县| 江陵县| 衡东县| 湖北省| 舒城县| 新绛县| 闻喜县| 特克斯县| 库伦旗| 馆陶县| 六枝特区| 沅陵县| 赣州市| 正蓝旗| 乐都县| 习水县| 琼海市| 扎赉特旗| 措美县| 安顺市| 二连浩特市| 光泽县| 财经| 公安县| 兴和县| 阳东县| 辽阳市| 通山县| 于田县| 涟水县| 昭平县| 松桃| 镇赉县| 鄢陵县| 疏勒县| 泰来县| 湖南省|