成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

開發 開發工具 新聞 數據可視化
為了更清晰的了解這幾款用于可視化的Python在作圖時的異同,本文將使用 同一組數據 分別制作多系列條形圖來對比。

相信很多讀者都聽過 Matplotlib 、 Pyecharts 、 Seaborn 、 Plotly 、 Bokeh 這五大工具,學習Python就是希望做出各種酷炫的可視化圖表,本文就將通過真實繪圖來深度評測這五個Python數據可視化的庫, 看看到底這幾種工具各有什么優缺點,在制作圖表時該如何選擇。

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

指標說明

為了更清晰的了解這幾款用于可視化的Python在作圖時的異同,本文將使用 同一組數據 分別制作多系列條形圖來對比,主要將通過以下幾個指標來進行評測:

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

數據說明

本文使用的數據為Pyecharts中的faker數據

  1. from pyecharts.faker import Faker 
  2. x = Faker.choose() 
  3. y1 = Faker.values() 
  4. y2 = Faker.values() 
你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

x為一列品牌名稱,y1/y2為一列相同長度的 無意義 數據,接下來讓我們使用不同的庫對這組數據進行可視化!

Pyecharts

Echarts 是一個由百度開源的數據可視化,憑借著良好的交互性,精巧的圖表設計,得到了眾多開發者的認可。而Python是一門富有表達力的語言,很適合用于數據處理。當數據分析遇上數據可視化時, pyecharts 誕生了,支持 30+ 種圖表 。 在pyecharts中制作條形圖首先需要導入相關庫

  1. from pyecharts import options as opts 
  2. from pyecharts.charts import Bar 

接著是繪圖并不做任何任何調整,首先創建一個Bar實例,接著添加x軸y軸數據,注意 僅接收list格式 數據,最后添加標題并設置在notebook中直接展示。總體來說還是比較符合正常的作圖邏輯,整體 代碼量并不多 。

  1. c = ( 
  2.     Bar() 
  3.     .add_xaxis(x) 
  4.     .add_yaxis("商家A", y1) 
  5.     .add_yaxis("商家B", y2) 
  6.     .set_global_opts(title_opts=opts.TitleOpts(title="Pyecharts—柱狀圖", subtitle="")) 
  7. ).render_notebook() 

默認生成的兩系列柱狀圖如下:

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

可以看到,該圖 支持交互式 展示與點擊,默認生成的樣式也較為美觀,并且Pyecharts有詳細的中文文檔與demo,網上關于Pyecharts的討論也較多,如果是剛接觸的讀者也能比較快的上手。 當然如果對默認樣式不滿意的話,可以進行一些調整,由于 文檔十分完整 ,所以代碼修改起來并不困難,比如可以修改主題并設置一些標 記線、DataZoom,添加小組件等

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

總體來說,由于Pyecharts是基于Echarts制作的,因此生成圖表比較美觀,并且 官方中文文檔對相關設置講解非常詳細,有關Pyecharts的 討論也非常多 ,所以如果在使用過程中有相關疑問也很容易通過檢索找到答案,但遺憾的是不支持使用pandas中的series數據,需要 轉換為list 才可以使用,不過整體還是讓我很滿意的一款可視化庫。主觀評分: 85 

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

Matplotlib

Matplotlib 應該是最廣泛使用的Python可視化工具,支持的圖形種類非常多,使用Matplotlib制作相同效果的圖需要先導入相關庫,并且并不支持原生中文所以還要設置下中文顯示

  1. import matplotlib.pyplot as plt 
  2. import numpy as np 
  3. plt.rcParams['font.sans-serif'] = ['SimHei']  

接著就是繪圖,但是相比較于pyecharts大多是往寫好的代碼里面添加數據、配置不同,matplotlib大多數需要我們自己寫代碼,所以 代碼量可能稍多一點

  1. width = 0.35 
  2. x1 = np.arange(len(x))  
  3.  
  4. fig, ax = plt.subplots() 
  5. rects1 = ax.bar(x1 - width/2, y1, width, label='商家A'
  6. rects2 = ax.bar(x1 + width/2, y2, width, label='商家B'
  7.  
  8. ax.set_title('Matplotlib—柱狀圖'
  9. ax.set_xticks(x1) 
  10. ax.set_xticklabels(x) 
  11. ax.legend() 
  12.  
  13. plt.show() 

最后生成的默認圖像如下

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

默認配色不是很好看但也沒有很難看,看起來更學術一點,但是 不支持交互式 點擊查看等操作,雖然代碼量更多一點,但是由于Matplotlib的火熱, 網上關于matplotlib的資料比Pyecharts要多很多 ,所以寫代碼與調整代碼的過程也 并不復雜 ,整體主觀評分77分

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

Plotly

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

Plotly 也是一款非常強大的Python可視化庫, Plotly內置完整的交互能力及編輯工具,支持在線和離線模式,提供穩定的API以便于現有應用集成,既可以在web瀏覽器中展示數據圖表,也可以存入本地拷貝 。 但是由于官方 未提供中文文檔 ,網上關于Plotly的教程也僅限于官方的一些demo,對于一些詳細的參數設置并 沒有太多資料 ,首先還是先導入相關庫并設置notebook顯示

  1. import plotly 
  2. import plotly.offline as py 
  3. import plotly.graph_objs as go 
  4. plotly.offline.init_notebook_mode(connected=True) 

接下來是繪圖代碼, 首先要對數據先進行處理 ,剩下的基礎配置其實和Pyecharts比較類似

  1. trace0 = go.Bar( 
  2.     x = x, 
  3.     y = y1, 
  4.     name = '商家A'
  5. trace1 = go.Bar( 
  6.     x = x, 
  7.     y = y2, 
  8.     name = '商家B'
  9. data = [trace0,trace1] 
  10. layout = go.Layout( 
  11.         title={ 
  12.         'text'"Plotly-柱狀圖"
  13.         'y':0.9
  14.         'x':0.5
  15.         'xanchor''center'
  16.         'yanchor''top'}) 
  17. fig = go.Figure(data=data, layout=layout) 
  18. py.iplot(fig) 
你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

默認樣式生成的圖如上, 配色也不難看 ,并且可以看到是 支持交互式 操作的,同時是默認添加toolbox小組件,可以更方便的查看, 支持30多種圖形 ,總體來說還是比較優秀的一個可視化工具,但是如果真要熟練使用的話可能需要一點時間用于查找相關資料,因為網上 關于Plotly的資料不多 ,大多是基本使用的簡單教程,如果想查找一些細節的操作比如我為了查找讓標題居中的方法,百度之后用Google在國外某論壇找到類似問題并找到設置,主觀評分: 76 

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

Bokeh

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

Bokeh 是一個專門針對Web瀏覽器的呈現功能的 交互式 可視化Python庫。這是Bokeh與其它可視化庫最核心的區別,它可以做出像 D3.js 簡潔 漂亮的交互可視化效果,但是使用難度低于D3.js,首先還是導入相關庫

  1. from bokeh.transform import dodge 
  2. import pandas as pd 
  3. from bokeh.core.properties import value 
  4. import numpy as np 
  5. import matplotlib.pyplot as plt 
  6. %matplotlib inline 
  7. from bokeh.io import output_notebook 
  8. output_notebook() # 導入notebook繪圖模塊 
  9. from bokeh.plotting import figure,show 
  10. from bokeh.models import ColumnDataSource# 導入圖表繪制、圖標展示模塊 # 導入ColumnDataSource模塊 # 導入dodge、value模塊 

相關依賴比上面三個要多出很多,并且Bokeh有自己的數據結構 ColumnDataSource ,所以要先對數據進行轉換,接著就是創建畫布、添加數據及設置

  1. df = pd.DataFrame({'商家A':y1,'商家B':y2}, 
  2.                  index = x_) 
  3. _x = ['商家A','商家B']    # 系列名 
  4. data = {'index':x_} 
  5. for i in _x: 
  6.     data[i] = df[i].tolist()# 生成數據,數據格式為dict 
  7. source = ColumnDataSource(data=data)# 將數據轉化為ColumnDataSource對象 
  8.  
  9. p = figure(x_range=x_, y_range=(0150), plot_height=350, title="boken-柱狀圖",tools="crosshair,pan,wheel_zoom,box_zoom,reset,box_select,lasso_select"
  10.  
  11. p.vbar(x=dodge('index', -0.1, range=p.x_range), top='商家A', width=0.2, source=source,color="#718dbf", legend=value("商家A")) 
  12. p.vbar(x=dodge('index',  0.1, range=p.x_range), top='商家B', width=0.2, source=source,color="#e84d60", legend=value("商家B"))# dodge(field_name, value, range=None) → 轉換成一個可分組的對象,value為元素的位置(配合width設置) 
  13. p.xgrid.grid_line_color = None 
  14. p.legend.location = "top_left" 
  15. p.legend.orientation = "horizontal" # 其他參數設置 
  16. show(p) 
你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

可以看到,Bokeh做出來的圖也是 支持交互 的,不并且樣式之類的看上去還是比較舒服的,不過上面這張圖是經過調整顏色的,因為默認不對兩個系列進行區分顏色

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

Bokeh一個很明顯的特點就是 代碼量較上面三個工具要多了很多 ,大多是在 數據的處理 上,并且和Plotly一樣,有關bokeh相關的 中文資料也不多 ,大多是入門型的基本使用于介紹,雖然從官方給出的圖來看能作出很多比pyecharts更精美的圖,但是查找相關參數的設置上將會耗費一定時間,主觀評分 71 分。

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

Seaborn

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

從 seaborn 官網給出的標題就知道,seaborn是為了 統計圖表 設計的,它 是一種 基于matplotlib 的圖形可視化庫,也就 是在matplotlib的基礎上進行了更高級的API封裝,從而使得 作圖更加容易 ,在大多數情況下使用seaborn就能做出很具有吸引力的圖,而使用matplotlib就能制作具有更多特色的圖,還是我們的數據,使用Seaborn制作首先需要導入相關庫,由于是基于Matplotlib,所以還是 需要設置中文

  1. import seaborn as sns 
  2. import matplotlib.pyplot as plt 
  3. plt.rcParams['font.sans-serif'] = ['SimHei']  

接下來只要 一行代碼 就能生成我們要的圖,默認配色也沒有顯得很難看

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

相比上面四種工具,從 代碼量 上來看是非常簡潔的,不過還是要先將 數據轉換 為DataFrame格式,這里沒在代碼中體現,但依舊是 最簡短的代碼 ,同時并不支持交互。并且Seaborn和Plotly、bokeh有一個共同的地方就是雖然強大,但是 網上有關這三個庫的教程、討論都遠少于Pyecharts與Matplotlib ,如果是新手的話可能很難快速通過搜索解決你遇到的問題,而需要自己研究別人的代碼,主觀評分 72 

你知道怎么選可視化工具嗎?深度評測5大Python數據可視化工具

小結

以上就是對常見的5個Python數據可視化的評測,可能通過繪制條形圖的方式去給每個工具打分不是非常合適,但我想你應該能夠大致熟悉到每個庫在繪圖時的特點,同時也能在選擇這些工具之前有一個簡單的了解。最后正如我們文中介紹的一樣, 不同工具的應用場景、目標用戶都不完全相同 ,所以我們在選擇工具時需要 先思考自己的使用場景 ,并且需要評估繪制目標圖形的難度,就像有些工具雖然強大但是資料太少,不要為了追求高級的樣式而浪費太多時間!如果你仍在猶豫學習哪一個工具的話,我的意見是 :熟練掌握一個工具之后,了解其他工具即可 !

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2014-02-09 16:20:20

大數據

2017-07-03 16:44:10

數據庫MongoDBNoSQL

2021-03-30 10:10:37

PyTorch可視化工具命令

2017-07-04 16:00:16

PythonMatplotlib可視化工具

2017-07-27 09:49:37

Python工具Matplotlib

2015-12-02 09:44:04

Python視化工具

2023-03-06 08:03:10

Python可視化工具

2024-11-04 08:49:11

2018-05-31 08:25:13

誤區工具可視化

2019-09-12 08:42:38

工具可視化BI系統

2019-10-14 15:51:40

可視化技術微軟數據庫

2017-07-25 13:42:00

大數據可視化工具

2017-09-01 10:11:04

深度學習可視化工具

2022-11-15 15:14:05

2022-05-07 09:02:27

數據可視化工具庫

2020-12-15 09:43:20

Python可視化工具網絡應用

2021-04-11 09:51:25

Redis可視化工具

2022-10-21 15:47:59

測試工具鴻蒙

2021-03-18 09:07:13

日志可視化工具Devops

2020-03-30 14:13:15

可視化工具數據可視化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄网站在线观看 | 瑟瑟免费视频 | 免费观看一区二区三区毛片 | 久久久精品综合 | 男女网站免费观看 | 欧美激情 一区 | 激情欧美一区二区三区中文字幕 | 精品国产一区二区三区性色av | 91欧美精品成人综合在线观看 | 中文字幕亚洲无线 | 成人福利在线视频 | 国产一区欧美 | 国产区精品视频 | 午夜精品久久久久久久99黑人 | 精品久久久网站 | 免费一级黄色电影 | 91视视频在线观看入口直接观看 | 精品国产一区探花在线观看 | 久久精品一区二区三区四区 | 久久久久久黄 | 久久69精品久久久久久久电影好 | 日韩毛片免费看 | 色婷婷综合久久久中字幕精品久久 | 亚洲精品久久久久中文字幕欢迎你 | 国产一区二区在线免费播放 | 韩国主播午夜大尺度福利 | 亚洲视频一区二区三区 | 精品视频免费 | 97精品国产手机 | 国内精品一区二区三区 | 欧美精品三区 | 国产一区久久精品 | 精品视频成人 | 国产ts一区| 羞羞视频网页 | 在线免费观看亚洲 | 国产精品久久性 | 久久一二三区 | 国产成人区 | 国产成人精品综合 | 日本久久久久久 |