pyEcharts安裝及使用指南html
ECharts是一個純Javascript的圖表庫,能夠流暢的運行在PC和移動設備上,兼容當前絕大部分瀏覽器,底層依賴輕量級的Canvas類庫ZRender,提供直觀、生動、可交互、可高度個性化定製的數據可視化圖表。ECharts提供了常規的折線圖、柱狀圖、散點圖、餅圖、K線圖,用於統計的盒形圖,用於地理數據可視化的地圖、熱力圖、線圖,用於關係數據可視化的關係圖、treemap,多維數據可視化的平行座標,還有用於BI的漏斗圖、儀表盤,而且支持圖與圖之間的混搭。瀏覽器
pyEcharts目前有0.5及如下版本和1.0以上版本,新版的pyecharts發生了許多變化。最爲明顯的是之前調整變量的命令如今都發生了改變。width是舊版本中對圖表調整的參數,在新版本這一功能被調整到了option裏面。網上大部分教程都是0.5及如下版本。echarts
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts==0.5.10
自從 v0.3.2 開始,爲了縮減項目自己的體積以及維持 pyecharts 項目的輕量化運行,pyecharts 將再也不自帶地圖 js 文件。如用戶須要用到地圖圖表,可自行安裝對應的地圖文件包。下面介紹如何安裝。dom
選擇本身須要的安裝函數
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-countries-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-provinces-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-cities-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-counties-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-misc-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-united-kingdom-pypkg#若是提示缺乏這個就安裝一下 pip install pyecharts_snapshot
教育網用戶在install 增長 –i https://pypi.tuna.tsinghua.edu.cn/simple學習
注意:
1.若是不知道安裝那個,就所有安裝,反正不會錯,安裝版本必定是要在0.5及如下。
2.若是你安裝的是1.0及以上版本,請自行閱讀官方文檔。https://pyecharts.org/#/zh-cn/intro
3.安裝完必定要重啓pycharm!!!動畫
代碼以下:ui
# -*- coding:utf-8 -*- from pyecharts import Bar bar = Bar("貴州GDP柱狀圖", "副標題") bar.add("GDP",["貴陽市", "遵義市", "六盤水市", "安順市", "黔東南州"],[40, 30, 26, 22, 15]) bar.show_config() bar.render()
代碼運行以後,會在本地生成一個render.html文件,打開輸出以下所示圖形。spa
from pyecharts import Bar #從pyecharts庫中導入Bar子類 bar = Bar("貴州GDP柱狀圖", "副標題") #定義Bar()柱狀圖,同時設置主標題和副標題 bar.add() #調用add()函數添加圖表的數據和設置各類配置項 bar.show_config() #打印輸出圖表的全部配置項 bar.render() #生成render.html文件,也能夠設置路徑和文件名
代碼以下:3d
# -*- coding:utf-8 -*- from pyecharts import Bar bar = Bar("貴州GDP柱狀圖", "副標題") city = ["貴陽市", "遵義市", "六盤水市", "安順市", "黔東南州"] data1 = [40, 30, 26, 22, 15] data2 = [13, 43, 32, 38, 20] bar.add("2017年GDP", city, data1) bar.add("2016年GDP", city, data2, is_convert=True) bar.show_config() bar.render()
輸出以下圖所示:
這段代碼參考簡書網 https://www.jianshu.com/p/b718c307a61c ,強烈推薦你們學習chenjiandongx大神的文章。完整代碼以下:
# -*- coding:utf-8 -*- from pyecharts import EffectScatter es = EffectScatter("動態散點圖各類圖形示例") es.add("", [10], [10], symbol_size=20, effect_scale=3.5, effect_period=3, symbol="pin") es.add("", [20], [20], symbol_size=12, effect_scale=4.5, effect_period=4, symbol="rect") es.add("", [30], [30], symbol_size=30, effect_scale=5.5, effect_period=5, symbol="roundRect") es.add("", [40], [40], symbol_size=10, effect_scale=6.5, effect_brushtype='fill', symbol="diamond") es.add("", [50], [50], symbol_size=16, effect_scale=5.5, effect_period=3, symbol="arrow") es.add("", [60], [60], symbol_size=6, effect_scale=2.5, effect_period=3, symbol="triangle") es.render()
運行結果以下圖所示:
繪製3D折線圖代碼以下:
# -*- coding:utf-8 -*- from pyecharts import Line3D import random data = [[1,2,3,4], [1,2,3,4], [0,4,8,16]] Line3D = Line3D("3D 折線圖示例", width=1200, height=600) Line3D.add("", data, is_visualmap=True) Line3D.render()
輸出圖形以下所示:
繪製3D散點圖,並設置隨機散點座標,代碼以下所示:
# -*- coding:utf-8 -*- from pyecharts import Scatter3D import random data = [[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) scatter3D.render()
輸出結果很是美觀,以下圖所示:
代碼以下: # -*- coding:utf-8 -*- from pyecharts import Gauge g = Gauge("儀表盤圖形","副圖標") g.add("重大項目", "投資佔比", 66.66) g.show_config() g.render("g.html")
輸出圖形以下所示:
代碼以下:
# -*- coding:utf-8 -*- from pyecharts import Liquid liquid = Liquid("水球圖") liquid.add("Liquid", [0.8]) liquid.show_config() liquid.render()
輸出以下圖所示:
講到這裏基本的圖形講解完畢,更多知識推薦你們結合實際應用研究。
利用echarts畫地圖(熱力圖)(世界地圖,省市地圖,區縣地圖)
世界地圖
from pyecharts import Map value = [95.1, 23.2, 43.3, 66.4, 88.5] attr = ["China", "Canada", "Brazil", "Russia", "United States"] map0 = Map("世界地圖示例", width=1200, height=600) map0.add("世界地圖", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000') map0.render(path="世界地圖.html")
from pyecharts import Map province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '遼寧': 12, '江西': 6, '上海': 20, '安徽': 10, '江蘇': 16, '湖南': 9,'浙江': 13, '海南': 2, '廣東': 22, '湖北': 8, '黑龍江': 11, '澳門': 1, '陝西': 11, '四川': 7, '內蒙古': 3, '重慶': 3,'雲南': 6, '貴州': 2, '吉林': 3, '山西': 12, '山東': 11, '福建': 4, '青海': 1, '天津': 1,'其餘': 1} provice = list(province_distribution.keys()) values = list(province_distribution.values()) map = Map("中國地圖", '中國地圖', width=1200, height=600) map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True,visual_text_color='#000') map.render(path="中國地圖.html")
from pyecharts import Map map2 = Map("貴州地圖", '貴州', width=1200, height=600) city = ['貴陽市', '六盤水市', '遵義市', '安順市', '畢節市', '銅仁市', '黔西南布依族苗族自治州', '黔東南苗族侗族自治州', '黔南布依族苗族自治州'] values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1] map2.add('貴州', city, values2, visual_range=[1, 10], maptype='貴州', is_visualmap=True, visual_text_color='#000') map2.render(path="貴州地圖.html")
from pyecharts import Map quxian = ['觀山湖區', '雲巖區', '南明區', '花溪區', '烏當區', '白雲區', '修文縣', '息烽縣', '開陽縣', '清鎮市'] values3 = [3, 5, 7, 8, 2, 4, 7, 8, 2, 4] map3 = Map("貴陽地圖", "貴陽", width=1200, height=600) map3.add("貴陽", quxian, values3, visual_range=[1, 10], maptype='貴陽', is_visualmap=True) map3.render(path="貴陽地圖.html")
from pyecharts import Geo keys = ['上海', '北京', '合肥', '哈爾濱', '廣州', '成都', '無錫', '杭州', '武漢', '深圳', '西安', '鄭州', '重慶', '長沙', '貴陽', '烏魯木齊'] values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60, 1.2, 3.7] geo = Geo("全國主要城市空氣質量熱力圖", "data from pm2.5", title_color="#fff",title_pos="left",width=1200,height=600,background_color='#404a59') geo.add("空氣質量熱力圖", keys, values, visual_range=[0, 5], type='effectScatter',visual_text_color="#fff", symbol_size=15,is_visualmap=True, is_roam=True) # type有scatter, effectScatter, heatmap三種模式可選,可根據本身的需求選擇對應的圖表模式 geo.render(path="全國主要城市空氣質量熱力圖.html")