最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

什么是pyecharts?  

pyecharts 是一個用于生成 Echarts 圖表的類庫。

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

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

pyecharts包含的圖表

  • 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 類:同一網(wǎng)頁按順序展示多圖
  • Timeline 類:提供時間線輪播多張圖

pyecharts安裝

pip install pyecharts

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

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

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

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

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

Windows下通過已下的pip命令進行安裝

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

Linux下通過以下的pip命令進行安裝

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

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

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

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

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

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

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

基本圖表使用實例

Bar(柱狀圖/條形圖)

from pyecharts import Bar
bar =Bar("我的第一個圖表", "這里是副標題")
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屬性是并不會顯示在圖表中的

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(地理坐標系)

from pyecharts import Geo 
data =[("海門", 9), ("鄂爾多斯", 12), ("招遠", 12), ("舟山", 12), ("齊齊哈爾", 14), ("鹽城", 15)]
geo =Geo("全國主要城市空氣質量", "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()

這里也要先說明一點因為echarts里面有的地點可能沒有,一旦添加了沒有的在這里面,將會生成一個空的圖。

有四個解決辦法:

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

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

三是如果你的數(shù)據(jù)在地圖中并沒有坐標城市,可以通過geo_cities_coords 自己進行添加,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 實例")
 geo.add("",list_city_name, list_num, geo_cities_coords=geo_cities_coords)
 geo.render()

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

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

 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

當然如果數(shù)據(jù)量比較大的話,這樣做效率可能不高,給大家一個參考吧這是我的項目里一部分的數(shù)據(jù)得到的結果,我拿了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()

寫在后面

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python實現(xiàn)多線程的兩種方式分析

    Python實現(xiàn)多線程的兩種方式分析

    這篇文章主要介紹了Python實現(xiàn)多線程的兩種方式,結合實例形式分析了通過自定義函數(shù)傳遞Thread對象以及繼承Thread類兩種多線程實現(xiàn)方式相關操作技巧,需要的朋友可以參考下
    2018-08-08
  • python簡單實現(xiàn)插入排序實例代碼

    python簡單實現(xiàn)插入排序實例代碼

    在本篇文章里小編給大家整理了一篇關于python簡單實現(xiàn)插入排序實例代碼,有需要的朋友們可以學習參考下。
    2020-12-12
  • python常量折疊基礎知識點講解

    python常量折疊基礎知識點講解

    在本篇文章里小編給大家整理的是一篇關于python常量折疊基礎知識點講解,對此有興趣的朋友可以跟著學習下。
    2021-02-02
  • Python實現(xiàn)圖數(shù)據(jù)處理的完整指南

    Python實現(xiàn)圖數(shù)據(jù)處理的完整指南

    圖是一種非常重要的數(shù)據(jù)結構,在Python中,我們可以使用鄰接矩陣來表示圖,這篇文章主要為大家介紹了Python實現(xiàn)圖數(shù)據(jù)處理的相關知識,需要的可以參考下
    2024-04-04
  • Python實現(xiàn)將DOC文檔轉換為PDF的方法

    Python實現(xiàn)將DOC文檔轉換為PDF的方法

    這篇文章主要介紹了Python實現(xiàn)將DOC文檔轉換為PDF的方法,涉及Python調用系統(tǒng)win32com組件實現(xiàn)文件格式轉換的相關技巧,需要的朋友可以參考下
    2015-07-07
  • 詳解Python 中的短路評估

    詳解Python 中的短路評估

    短路是指當表達式的真值已經(jīng)確定時終止布爾運算,Python 解釋器以從左到右的方式計算表達式,這篇文章主要介紹了Python 中的短路評估,需要的朋友可以參考下
    2023-06-06
  • Python離線安裝包教程分享

    Python離線安裝包教程分享

    這篇文章主要介紹了Python離線安裝包教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python通過30秒就能學會的漂亮短程序代碼(過程全解)

    Python通過30秒就能學會的漂亮短程序代碼(過程全解)

    這篇文章主要介紹了Python之30秒就能學會的漂亮短程序代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Python正則表達式匹配數(shù)字和小數(shù)的方法

    Python正則表達式匹配數(shù)字和小數(shù)的方法

    這篇文章主要介紹了Python正則匹配數(shù)字和小數(shù)的方法,本文通過示例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Python安裝使用命令行交互模塊pexpect的基礎教程

    Python安裝使用命令行交互模塊pexpect的基礎教程

    Pexpect是一個純Python模塊,可以用來和ssh、ftp、passwd、telnet等命令行命令進行交互使用,在Linux系統(tǒng)下尤其好用,下面我們就來具體來看一下Python安裝使用命令行交互模塊pexpect的基礎教程:
    2016-05-05

最新評論

锦屏县| 伊宁市| 芦溪县| 宝兴县| 祁阳县| 乌审旗| 永年县| 娄烦县| 郸城县| 丹凤县| 洪洞县| 建湖县| 达尔| 定远县| 宜君县| 轮台县| 晋州市| 石台县| 金华市| 内黄县| 双桥区| 三原县| 花莲市| 闻喜县| 哈巴河县| 阿鲁科尔沁旗| 平果县| 韩城市| 谷城县| 清徐县| 固始县| 白山市| 蒙自县| 辽宁省| 巴南区| 洪洞县| 正安县| 新河县| 金门县| 上思县| 中宁县|