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

首頁 > 編程 > Python > 正文

python實現數據圖表

2020-02-16 01:59:05
字體:
來源:轉載
供稿:網友

平時壓力測試,生成一些數據后分析,直接看 log 不是很直觀,前段時間看到公司同事分享了一個繪制圖表python 模塊 : plotly, 覺得很實用,利用周末時間熟悉下。


plotly

plotly 主頁 : https://plot.ly/python/

安裝

在 ubuntu 環境下,安裝 plotly 很簡單
python 版本2.7+

$ sudo pip install plotly

繪圖

在 plotly 網站注冊后,可以直接將生成的圖片保存到網站上,便于共享保存。
這里使用離線的接口,生成的 html 保存在本地文件

繪制直線圖

先隨便搞一組數據用來繪制圖表

lcd@ubuntu:~/$ cat gen_log.sh #!/bin/bashcount=$1while [ $count -gt 0 ]do  sar -n DEV 1 1 | grep "Average:" | grep "eth0" | awk '{print $4,$5,$6}'  count=$(($count-1))donelcd@ubuntu:~/$ sh gen_log.sh 1000 > log.txt

通過上述腳本,獲取每秒鐘網卡的3個數據,記錄文本,利用 ploty 按時間繪制成直線圖,實現如下:

#!/usr/bin/env pythonimport plotly.offline as pltoffimport plotly.graph_objs as godef line_plots(name="line_plots.html"):  dataset = {    'time': [],    'rx': [],    'tx': [],    'util': []  }  with open("./log.txt") as f:    i = 0    for line in f:      items = line.split()      dataset['time'].append(i)      dataset['rx'].append(items[0])      dataset['tx'].append(items[1])      dataset['util'].append(items[2])      i += 1        data_g = []  # 構建 time - rx 數據關系,折線圖  tr_rx = go.Scatter(    x = dataset['time'],    y = dataset['rx'],    name = 'rx')  data_g.append(tr_rx)  tr_tx = go.Scatter(    x = dataset['time'],    y = dataset['tx'],    name = 'tx')  data_g.append(tr_tx)  tr_util = go.Scatter(    x = dataset['time'],    y = dataset['util'],    name = 'util')  data_g.append(tr_util)  # 設置圖表布局  layout = go.Layout(title="Line plots",    xaxis={'title':'time'}, yaxis={'title':'value'})  fig = go.Figure(data=data_g, layout=layout)  # 生成離線html  pltoff.plot(fig, filename=name)if __name__=='__main__':  line_plots()

生成圖表如下所示 :


line_plot

柱形圖

#!/usr/bin/env pythonimport plotly.offline as pltoffimport plotly.graph_objs as godef bar_charts(name="bar_charts.html"):  dataset = {'x':['man', 'woman'],        'y1':[35, 26],        'y2':[33, 30]}  data_g = []  tr_y1 = go.Bar(    x = dataset['x'],    y = dataset['y1'],    name = '2016'  )  data_g.append(tr_y1)  tr_y2 = go.Bar(  x = dataset['x'],  y = dataset['y2'],  name = '2017'  )  data_g.append(tr_y2)  layout = go.Layout(title="bar charts",    xaxis={'title':'x'}, yaxis={'title':'value'})  fig = go.Figure(data=data_g, layout=layout)  pltoff.plot(fig, filename=name)if __name__=='__main__':  bar_charts()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沈丘县| 襄汾县| 商丘市| 盐津县| 奈曼旗| 泸溪县| 剑阁县| 噶尔县| 阿城市| 延长县| 建平县| 织金县| 稻城县| 梨树县| 龙门县| 五台县| 凉城县| 黄骅市| 大连市| 长宁区| 元氏县| 双江| 镇远县| 苍溪县| 微山县| 永年县| 林西县| 文昌市| 扶余县| 漯河市| 西平县| 双桥区| 营山县| 沈丘县| 安溪县| 万荣县| 夏邑县| 眉山市| 思茅市| 普洱| 葫芦岛市|