pyecharts anaconda_Pyecharts安装使用和绘图案例
一次偶然的機(jī)會(huì),接觸了pyecharts,發(fā)現(xiàn)做圖交互效果非常棒,便深究、摸索、入坑。這篇文章主要講述自己在安裝和使用中遇到的問(wèn)題,解決方法,最后還會(huì)有pyecharts中自己比較喜歡的繪圖功能。
pyecharts是一款將python與echarts結(jié)合的強(qiáng)大的數(shù)據(jù)可視化工具。Echarts 是百度開(kāi)源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù), Echarts可以生成非常棒的可視化交互圖,pyecharts的開(kāi)發(fā)讓在python平臺(tái)上也可以直接使用數(shù)據(jù)生成圖。
一、pyecharts v1安裝使用
我平時(shí)使用的是jupyter notebook,因?yàn)閍naconda中Jupyter Notebook里沒(méi)有集成pyecharts庫(kù),沒(méi)有直接調(diào)用,需要自行安裝。
安裝pyecharts之前,我們需要了解pyecharts新舊版本的重大區(qū)別,自己下載的是什么版本,因?yàn)檫@會(huì)影響你代碼是否能正常運(yùn)行。我自己當(dāng)初不慎下載了最新V1版,但寫的代碼還是老代碼,結(jié)果各種報(bào)錯(cuò),如下圖等問(wèn)題。
pyecharts在去年5月份的時(shí)候,發(fā)布了全新版本v1,修復(fù)了之前0.5.X版本留下的bug,但在宣傳新版本各種好的時(shí)候,存在一個(gè)非常嚴(yán)重的問(wèn)題,新版本向下不再兼容pyecharts 低版本,舊版本上好多語(yǔ)句代碼都在新版本上都無(wú)法使用。當(dāng)我們使用原來(lái)跑通的代碼,在無(wú)意間更新版本后,使用時(shí)各種ImportError、AttributEerror報(bào)錯(cuò),不要懷疑自己,先去檢查一下自己使用的版本。一定要記住,V1是一個(gè)分水嶺,2019年5月也是一個(gè)分水嶺,現(xiàn)今大部分新安裝的都是V1新版本。
①開(kāi)始安裝,管理員模式運(yùn)行cmd,輸入 pip install pyecharts
如果報(bào)錯(cuò):You are using pip version 10.0.1, however version 19.0.2 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.
未報(bào)錯(cuò),說(shuō)明版本以更新,下面②、③步驟可以忽略。
②更新版本,輸入python -m pip install --upgrade pip
更新成功后,會(huì)提示:Successfully installed pip-19.0.2
③前面準(zhǔn)備就緒后,再次輸入 pip install pyecharts
如果成功會(huì)提示:Successfully installed.....pyecharts.....(中間內(nèi)容省略,看關(guān)鍵字)
④驗(yàn)證是否可以正常使用,打開(kāi)jupyter notebook,輸入一個(gè)簡(jiǎn)單的測(cè)試代碼
from能夠正常展示如下水球動(dòng)態(tài)圖,就表示一切OK
⑤如果仍然存在報(bào)錯(cuò)等問(wèn)題,可以自己去下載安裝文件,下面是是最新版pyecharts1.7.1文件鏈接。
pyecharts?pypi.org下載后,把文件放到Anaconda3Libsite-packages文件夾里面。
運(yùn)行Anaconda Prompt,輸入pip install pyecharts,再次測(cè)試是否可以正常使用。
如果想安裝歷史舊版本,也可以使用此方法。
⑥如果已安裝過(guò)pyecharts,想要查看自己是什么版本的,可以在打開(kāi)cmd
輸入pip list,會(huì)顯示已經(jīng)安裝過(guò)的文件版本
二、pyecharts v1繪圖案例
這里繪圖案例,選擇了自己比較感興趣的幾個(gè)圖表,每各圖中涉及的數(shù)據(jù)值都是隨機(jī)生產(chǎn),數(shù)據(jù)不具參考價(jià)值。
(1)流向圖
全國(guó)范圍:
from pyecharts.charts import Geo # 導(dǎo)入配置項(xiàng) from pyecharts import options as opts # ChartType:圖標(biāo)類型,SymbolType:標(biāo)記點(diǎn)類型 from pyecharts .globals import ChartType, SymbolType import randomc = (Geo().add_schema(maptype="china") # 地圖類型,這里選擇china.add("",[("天津", 120000), ("上海", 100000), ("廣州", 80000), ("深圳", 90000), ("長(zhǎng)沙", 100000), ("鄭州", 100000),("杭州", 70000),("烏魯木齊",90)],type_=ChartType.EFFECT_SCATTER,color="green",)# 添加數(shù)據(jù)點(diǎn).add("geo",[("北京", "天津"), ("北京", "上海"),("北京", "廣州"),("北京", "深圳"),("北京", "長(zhǎng)沙"),("北京", "鄭州"),("北京", "杭州"),("北京", "烏魯木齊")],type_=ChartType.LINES,effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW, symbol_size=6, color="yellow"),# 添加流向,type_設(shè)置為L(zhǎng)INES,漣漪配置為箭頭,提供的標(biāo)記類型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'linestyle_opts=opts.LineStyleOpts(curve=0.2),).set_series_opts(label_opts=opts.LabelOpts(is_show=False))# 不顯示標(biāo)簽.set_global_opts(title_opts=opts.TitleOpts(title="北京人口省外輸出圖")))c.render_notebook()# 直接在notebook里顯示圖表省內(nèi)范圍:
c = (Geo().add_schema(maptype="河南") # 地圖類型,這里選擇鄭州.add("",[("安陽(yáng)", 20000), ("信陽(yáng)", 10000), ("南陽(yáng)", 8000), ("洛陽(yáng)", 9000), ("濮陽(yáng)", 1000)],type_=ChartType.EFFECT_SCATTER,color="green",)# 添加數(shù)據(jù)點(diǎn).add("geo",[("鄭州", "安陽(yáng)"), ("鄭州", "信陽(yáng)"),("鄭州", "南陽(yáng)"),("鄭州", "洛陽(yáng)"),("鄭州", "濮陽(yáng)")],type_=ChartType.LINES,effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW, symbol_size=6, color="yellow"),# 添加流向,type_設(shè)置為L(zhǎng)INES,漣漪配置為箭頭,提供的標(biāo)記類型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'linestyle_opts=opts.LineStyleOpts(curve=0.2),).set_series_opts(label_opts=opts.LabelOpts(is_show=False))# 不顯示標(biāo)簽.set_global_opts(title_opts=opts.TitleOpts(title="鄭州人口省內(nèi)輸出圖")))c.render_notebook()# 直接在notebook里顯示圖表(2)熱力圖
以全國(guó)各省份人口分布熱力圖為例(這里隨機(jī)選擇部分省份)
province = ['北京', '上海', '廣州', '深圳', '河北', '河南', '湖北', '湖南', '黑龍江', '吉林', '內(nèi)蒙古', '新疆', '西藏'] data = [(i, random.randint(100, 350)) for i in province]geo = (Geo().add_schema(maptype="china").add("人口", data,type_=ChartType.HEATMAP).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(visualmap_opts=opts.VisualMapOpts(),legend_opts=opts.LegendOpts(is_show=False),title_opts=opts.TitleOpts(title="Geo-全國(guó)熱力地圖")))geo.render_notebook()
(3)時(shí)間軸
各品牌電腦線上和線下近幾年銷量對(duì)比
from pyecharts import options as opts from pyecharts.charts import Bar, Timeline from pyecharts.globals import ThemeType import randomcate = ['Apple', 'Dell', 'Toshiba', 'Samsung', 'Lenovo'] tl = Timeline() for i in range(2015, 2019): #選擇年份范圍bar = (Bar().add_xaxis(cate).add_yaxis("線上", [random.randint(10000, 15000) for _ in cate]) #隨機(jī)賦值.add_yaxis("門店", [random.randint(7000, 12000) for _ in cate]).set_global_opts(title_opts=opts.TitleOpts("電腦品牌{}年?duì)I業(yè)額".format(i))))tl.add(bar, "{}年".format(i))tl.render_notebook()
(4)3D柱狀圖
建立x坐標(biāo)為小時(shí),y坐標(biāo)為星期,z坐標(biāo)為數(shù)值的3維動(dòng)態(tài)柱狀圖
import pyecharts.options as opts from pyecharts.charts import Bar3Dhours = ["0","1","2","3","4","5","6","7","8","9","10","11", "12","13","14","15","16","17","18","19","20","21","22","23",] days = ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"] data = [[random.randint(0, 6), random.randint(0, 23), random.randint(0, 15)]for _ in range(100)] data = [[d[1], d[0], d[2]] for d in data]Bar3D = (Bar3D(init_opts=opts.InitOpts(width="800px", height="400px")).add(series_name="",data=data,xaxis3d_opts=opts.Axis3DOpts(type_="category", data=hours),yaxis3d_opts=opts.Axis3DOpts(type_="category", data=days),zaxis3d_opts=opts.Axis3DOpts(type_="value"),).set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=20,range_color=["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026",],)))Bar3D.render_notebook()三、總結(jié)
相對(duì)自己之前知悉的Matplotlib、Seaborn等繪圖包,接觸pyecharts又多打開(kāi)了一扇大門,愈發(fā)覺(jué)得圍繞python開(kāi)發(fā)的各種包都好強(qiáng)大,python是個(gè)好產(chǎn)品。
總結(jié)
以上是生活随笔為你收集整理的pyecharts anaconda_Pyecharts安装使用和绘图案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 起亚09款手自一体福瑞迪1.6L。想换刹
- 下一篇: 安新高速鹤壁至新乡段什么时候通车?