欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 數(shù)據(jù)可視化pyecharts的使用詳解

 更新時(shí)間:2019年06月26日 09:17:22   作者:木偶Roy  
這篇文章主要介紹了Python 數(shù)據(jù)可視化pyecharts的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

什么是pyecharts?  

pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫。

echarts是百度開源的一個(gè)數(shù)據(jù)可視化 JS 庫,主要用于數(shù)據(jù)可視化。pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫。實(shí)際上就是 Echarts 與 Python 的對(duì)接。

使用 pyecharts可以生成獨(dú)立的網(wǎng)頁,也可以在 flask , Django中集成使用。

pyecharts包含的圖表

  • Bar(柱狀圖/條形圖)
  • Bar3D(3D 柱狀圖)
  • Boxplot(箱形圖)
  • EffectScatter(帶有漣漪特效動(dòng)畫的散點(diǎn)圖)
  • Funnel(漏斗圖)
  • Gauge(儀表盤)
  • Geo(地理坐標(biāo)系)
  • Graph(關(guān)系圖)
  • HeatMap(熱力圖)
  • Kline(K線圖)
  • Line(折線/面積圖)
  • Line3D(3D 折線圖)
  • Liquid(水球圖)
  • Map(地圖)
  • Parallel(平行坐標(biāo)系)
  • Pie(餅圖)
  • Polar(極坐標(biāo)系)
  • Radar(雷達(dá)圖)
  • Sankey(?;鶊D)
  • Scatter(散點(diǎn)圖)
  • Scatter3D(3D 散點(diǎn)圖)
  • ThemeRiver(主題河流圖)
  • WordCloud(詞云圖)

用戶自定義

  • Grid 類:并行顯示多張圖
  • Overlap 類:結(jié)合不同類型圖表疊加畫在同張圖上
  • Page 類:同一網(wǎng)頁按順序展示多圖
  • Timeline 類:提供時(shí)間線輪播多張圖

pyecharts安裝

pip install pyecharts

這里要專門說明一下,自從 0.3.2 開始,為了縮減項(xiàng)目本身的體積以及維持 pyecharts 項(xiàng)目的輕量化運(yùn)行,pyecharts 將不再自帶地圖 js 文件。如用戶需要用到地圖圖表(Geo、Map),可自行安裝對(duì)應(yīng)的地圖文件包。

否則在用到這兩個(gè)包的時(shí)候,并能完整的顯示地圖效果。

全球國家地圖:echarts-countries-pypkg(1.9MB): 世界地圖和 213 個(gè)國家,包括中國地圖

中國省級(jí)地圖:echarts-china-provinces-pypkg(730KB):23 個(gè)省,5 個(gè)自治區(qū)

中國市級(jí)地圖:echarts-china-cities-pypkg(3.8MB):370 個(gè)中國城市

Windows下通過已下的pip命令進(jìn)行安裝

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg

Linux下通過以下的pip命令進(jìn)行安裝

sudo pip3 install echarts-countries-pypkg 
sudo pip3 install echarts-china-provinces-pypkg
sudo pip3 install echarts-china-cities-pypkg
sudo pip3 install echarts-countries-pypkg 
sudo pip3 install echarts-china-provinces-pypkg
sudo pip3 install echarts-china-cities-pypkg

相關(guān)函數(shù)、參數(shù)說明

先介紹一些可能會(huì)用到的基本函數(shù):

  • add() 主要方法,用于添加圖表的數(shù)據(jù)和設(shè)置各種配置項(xiàng)
  • show_config() 打印輸出圖表的所有配置項(xiàng)
  • render() 默認(rèn)將會(huì)在根目錄下生成一個(gè) render.html 的文件,支持 path 參數(shù),設(shè)置文件保存位置,如 render(r"e:my_first_chart.html"),文件用瀏覽器打開。

默認(rèn)的編碼類型為 UTF-8,在 Python3 中是沒什么問題的,Python3 對(duì)中文的支持好很多。但是在 Python2 中,編碼的處理是個(gè)很頭疼的問題,暫時(shí)沒能找到完美的解決方法,目前只能通過文本編輯器自己進(jìn)行二次編碼,我用的是 Visual Studio Code,先通過 Gbk 編碼重新打開,然后再用 UTF-8 重新保存,這樣用瀏覽器打開的話就不會(huì)出現(xiàn)中文亂碼問題了。(這里是某位大佬遇到的問題,我直接復(fù)制過來了,供大家參考)

基本上所有的圖表類型都是這樣繪制的:

  • chart_name = Type() 初始化具體類型圖表。
  • add() 加數(shù)據(jù)及配置項(xiàng)。
  • render() 生成 .html 文件。

基本圖表使用實(shí)例

Bar(柱狀圖/條形圖)

from pyecharts import Bar
bar =Bar("我的第一個(gè)圖表", "這里是副標(biāo)題")
bar.add("服裝", ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"], [5, 20, 36, 10, 75, 90])
bar.show_config()
bar.render()

from pyecharts import Bar
bar =Bar("x 軸和 y 軸交換")
bar.add("商家A", attr, v1)
bar.add("商家B", attr, v2, is_convert=True)
bar.render()

說明:如下代碼,atf_tb1屬性是并不會(huì)顯示在圖表中的

bar = Bar()
bar.add('格式化',["atf_tb1","shop"],[10,50])
bar.add("范圍", ["shop"], [120])
bar.render()

可以看到atf_tb1并沒有加載到圖表中,說明并不支持這么使用

Pie(餅圖)

from pyecharts import Pie
attr =["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 =[11, 12, 13, 10, 10, 10]
pie =Pie("餅圖示例")
pie.add("", attr, v1, is_label_show=True)
pie.show_config()
pie.render()

WordCloud(詞云圖)

from pyecharts import WordCloud 
name =['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']
value =[10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]
wordcloud =WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud.show_config()
wordcloud.render()

詞云圖的形狀可以通過shape參數(shù)來選擇

wordcloud =WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[30, 100], shape='diamond')
wordcloud.show_config()
wordcloud.render()

Geo(地理坐標(biāo)系)

from pyecharts import Geo 
data =[("海門", 9), ("鄂爾多斯", 12), ("招遠(yuǎn)", 12), ("舟山", 12), ("齊齊哈爾", 14), ("鹽城", 15)]
geo =Geo("全國主要城市空氣質(zhì)量", "data from pm2.5", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59')
attr, value =geo.cast(data)
geo.add("", attr, value, type="effectScatter", is_random=True, effect_scale=5)
geo.show_config()
geo.render()

這里也要先說明一點(diǎn)因?yàn)閑charts里面有的地點(diǎn)可能沒有,一旦添加了沒有的在這里面,將會(huì)生成一個(gè)空的圖。

有四個(gè)解決辦法:

一是最簡單的把不存在刪掉;

二是到百度地圖api里把找不到的地方的經(jīng)緯度加進(jìn)原始的包里(這個(gè)辦法大家可以參看這位大佬的博客http://www.dbjr.com.cn/article/163958.htm);

三是如果你的數(shù)據(jù)在地圖中并沒有坐標(biāo)城市,可以通過geo_cities_coords 自己進(jìn)行添加,GeoLine圖同樣如此

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: jyroy
from pyecharts import Geo
 if __name__ == '__main__':

 list_city_name=["100,30-1","130,40-2"]
 list_num = [["value1","value2"],["value3"]]
 geo_cities_coords = {"100,30-1":[100,30],"130,40-2":[130,40]}

 geo = Geo("Geo 實(shí)例")
 geo.add("",list_city_name, list_num, geo_cities_coords=geo_cities_coords)
 geo.render()

四是如果你是批量的導(dǎo)入導(dǎo)入數(shù)據(jù)(類似從數(shù)據(jù)庫中),異常數(shù)據(jù)并不想插入到地圖中去,可以通過try...except...來清除這少部分的異常數(shù)據(jù),如下代碼,這是我自己遇到的問題的想到的一個(gè)解決辦法,data是我從數(shù)據(jù)庫中得到的字典

當(dāng)然如果數(shù)據(jù)量比較大的話,這樣做效率可能不高,給大家一個(gè)參考吧

 for n, m in data.items(): #data是我從數(shù)據(jù)庫中讀取的城市的字典數(shù)據(jù)
  list_1 = []
  list_2 = []
  list_1.append(n)
  list_2.append(m)
  try:
   geo.add("", list_1, list_2, visual_range=[0, 3000], visual_text_color="#fff", symbol_size=15, is_visualmap=True)
  except Exception as e:
   pass

當(dāng)然如果數(shù)據(jù)量比較大的話,這樣做效率可能不高,給大家一個(gè)參考吧這是我的項(xiàng)目里一部分的數(shù)據(jù)得到的結(jié)果,我拿了7萬多條數(shù)據(jù)來做的測試,感覺效果還ok

Line(折線/面積圖)

from pyecharts import Line 
attr =["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 =[5, 20, 36, 10, 10, 100]v2 =[55, 60, 16, 20, 15, 80]
line =Line("折線圖示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"])
line.show_config()
line.render()

line =Line("折線圖-面積圖示例")
line.add("商家A", attr, v1, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None)
line.add("商家B", attr, v2, is_fill=True, area_color='#000', area_opacity=0.3, is_smooth=True)
line.show_config()
line.render()

寫在后面

因?yàn)槲以谟玫倪^程中都是結(jié)合數(shù)據(jù)庫批量處理的,所以就不把我寫的全都放上了,這有上面地圖那里第三個(gè)解決辦法放了一部分我自己的代碼,其他的都是網(wǎng)上常見的一些測試用例。

這里都是基礎(chǔ)的介紹(我認(rèn)為可能常用的一些圖表),想了解更多的關(guān)于pyecharts的,就不推薦其他人的博客了,都大同小異,大家還是移步官網(wǎng) http://pyecharts.org/#/zh-cn/ ,因?yàn)檫@是個(gè)開源的項(xiàng)目,pyecharts也是三個(gè)人一直在維護(hù)的,官網(wǎng)內(nèi)容非常豐富,而且有中文版。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pandas.dataframe按行索引表達(dá)式選取方法

    pandas.dataframe按行索引表達(dá)式選取方法

    今天小編就為大家分享一篇pandas.dataframe按行索引表達(dá)式選取方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python中的數(shù)據(jù)分析詳解

    Python中的數(shù)據(jù)分析詳解

    這篇文章主要介紹了Python中的數(shù)據(jù)分析詳解,對(duì)數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)分析是指根據(jù)分析目的,用適當(dāng)?shù)慕y(tǒng)計(jì)分析方法及工具,對(duì)收集來的數(shù)據(jù)進(jìn)行處理與分析,提取有價(jià)值的信息,發(fā)揮數(shù)據(jù)的作用,需要的朋友可以參考下
    2023-07-07
  • Python解釋執(zhí)行原理分析

    Python解釋執(zhí)行原理分析

    這篇文章主要介紹了Python解釋執(zhí)行原理,有助于讀者深入理解Python運(yùn)行機(jī)制,需要的朋友可以參考下
    2014-08-08
  • Python中的元組(Tuple)操作實(shí)例詳解

    Python中的元組(Tuple)操作實(shí)例詳解

    Python?元組和列表很像,也是一個(gè)包含多個(gè)元素的集合,下面這篇文章主要給大家介紹了關(guān)于Python中元組(Tuple)操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • 六行python代碼的愛心曲線詳解

    六行python代碼的愛心曲線詳解

    這篇文章主要介紹了六行python代碼的愛心曲線詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 關(guān)于Matplotlib繪制動(dòng)態(tài)實(shí)時(shí)曲線的方法改進(jìn)指南

    關(guān)于Matplotlib繪制動(dòng)態(tài)實(shí)時(shí)曲線的方法改進(jìn)指南

    這篇文章主要給大家介紹了關(guān)于Matplotlib繪制動(dòng)態(tài)實(shí)時(shí)曲線的相關(guān)資料,matplotlib是python里最popular的畫圖工具,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06
  • python 美化輸出信息的實(shí)例

    python 美化輸出信息的實(shí)例

    今天小編就為大家分享一篇python 美化輸出信息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python 實(shí)現(xiàn)二維列表轉(zhuǎn)置

    python 實(shí)現(xiàn)二維列表轉(zhuǎn)置

    今天小編就為大家分享一篇python 實(shí)現(xiàn)二維列表轉(zhuǎn)置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python使用CRC實(shí)現(xiàn)圖片去重

    Python使用CRC實(shí)現(xiàn)圖片去重

    這篇文章主要為大家詳細(xì)介紹了Python如何使用CRC實(shí)現(xiàn)圖片去重功能,文中的示例代碼講解詳細(xì),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Django基礎(chǔ)知識(shí) web框架的本質(zhì)詳解

    Django基礎(chǔ)知識(shí) web框架的本質(zhì)詳解

    這篇文章主要介紹了Django基礎(chǔ)知識(shí) web框架的本質(zhì)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論