【python 資料視覺效果】pyecharts的使用__python

來源:互聯網
上載者:User

Echarts是百度出的很有名 也很叼。
Echarts 是百度開源的一個資料視覺效果 JS 庫。主要用於資料視覺效果。
pyecharts 是一個用於產生 Echarts 圖表的類庫。實際上就是 Echarts 與 Python 的對接。

網址:
https://github.com/chenjiandongx/pyecharts/blob/master/docs/zh-cn/documentation.md#%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8

http://pyecharts.org/#/zh-cn/charts?id=wordcloud%ef%bc%88%e8%af%8d%e4%ba%91%e5%9b%be%ef%bc%89

安裝:

pip install pyecharts

通用配置項

xyAxis:直角座標系中的 x、y 軸(Line、Bar、Scatter、EffectScatter、Kline)
dataZoom:dataZoom 組件 用於地區縮放,從而能自由關注細節的資料資訊,或者概覽資料整體,或者去除離群點的影響。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot)
legend:圖例組件。圖例組件展現了不同系列的標記(symbol),顏色和名字。可以通過點擊圖例控制哪些系列不顯示。
label:圖形上的文字標籤,可用於說明圖形的一些資料資訊,比如值,名稱等。
lineStyle:帶線圖形的線的風格選項(Line、Polar、Radar、Graph、Parallel)
grid3D:3D笛卡爾座標系組配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)
axis3D:3D 笛卡爾座標系 X,Y,Z 軸配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)
visualMap:是視覺映射組件,用於進行『視覺編碼』,也就是將資料對應到視覺元素(視覺通道)
markLine&markPoint:圖形標記組件,用於標記指定的特殊資料,又標記線和標記點兩種。(Bar、Line、Kline)
tooltip:提示框組件,用於移動或點擊滑鼠時彈出資料內容

圖表詳細

Bar(柱狀圖/橫條圖)
Bar3D(3D 柱狀圖)
Boxplot(盒鬚圖)
EffectScatter(帶有漣漪特效動畫的散佈圖)
Funnel(漏斗圖)
Gauge(儀錶盤)
Geo(地理座標系)
Graph(關係圖)
HeatMap(熱力圖)
Kline(K線圖)
Line(折線/面積圖)
Line3D(3D 折線圖)
Liquid(水球圖)
Map(地圖)
Parallel(平行座標系)
Pie(餅圖)
Polar(極座標系)
Radar(雷達圖)
Sankey(桑基圖)
Scatter(散佈圖)
Scatter3D(3D 散佈圖)
ThemeRiver(主題河流圖)
WordCloud(詞雲圖)

使用者自訂

Grid 類:並行顯示多張圖
Overlap 類:結合不同類型圖表疊加畫在同張圖上
Page 類:同一網頁按順序展示多圖
Timeline 類:提供時間軸輪播多張圖

整合Flask&Django

開始使用:

# encoding: utf-8import timeimport sysreload(sys)sys.setdefaultencoding('utf-8')from pyecharts import Barbar = Bar("我的第一個圖表", "這裡是副標題")bar.add("服裝", ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"], [5, 20, 36, 10, 75, 90],is_more_utils=True)bar.show_config()bar.render()

Note: 可以按右邊的下載按鈕將圖片下載到本地,如果想要提供更多工具 + 生產力按鈕,請在 add() 中設定 is_more_utils 為 True

add()
主要方法,用於添加圖表的資料和設定各種配置項
show_config()
列印輸出圖表的所有配置項
render()
預設將會在根目錄下產生一個 render.html 的檔案,支援 path 參數,設定檔案儲存位置,如 render(r”e:\my_first_chart.html”),檔案用瀏覽器開啟。

再來介紹個新功能,如果想在一個網頁內按順序展示多個圖的話,推薦使用 Page() 類。

使用步驟

1 、引入 Page

2、使用 Page.add() 增加圖

3、使用 Page.render() 渲染網頁

顯示 多個圖

# encoding: utf-8import timeimport sysreload(sys)sys.setdefaultencoding('utf-8')from pyecharts import Bar, Scatter3Dfrom pyecharts import Pagepage = Page()         # step 1# barattr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]v1 = [5, 20, 36, 10, 75, 90]v2 = [10, 25, 8, 60, 20, 80]bar = Bar("柱狀圖資料堆疊樣本")bar.add("商家A", attr, v1, is_stack=True)bar.add("商家B", attr, v2, is_stack=True)page.add(bar)         # step 2# scatter3Dimport randomdata = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',               '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']scatter3D = Scatter3D("3D 散佈圖樣本", width=1200, height=600)scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)page.add(scatter3D)  # step 2page.render()        # step 3

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.