Pyechart入門

標題中的英文首字母大寫比較規(guī)范北发,但在python實際使用中均為小寫臼节。

2018年8月1日筆記

0.簡介

pyecharts是一個用于生成echarts圖表的類庫积锅。echarts是百度開源的一個數(shù)據(jù)可視化庫江耀,用echarts生成的圖可視化效果非常棒。使用pyechart庫可以在python中生成echarts數(shù)據(jù)圖擒权。
官網(wǎng):http://pyecharts.org
Github:https://github.com/pyecharts/pyecharts/
在官網(wǎng)中可以獲得比本文更詳細的pyecharts庫的使用方法袱巨。
下面代碼的開發(fā)環(huán)境為jupyter notebook,使用在jupyter notebook中的截圖表示運行結果碳抄。

1.安裝庫

打開cmd愉老,在cmd中使用pip命令安裝pyecharts庫,如下所示:

pip install pyecharts -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

其中-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com是使用阿里云作為下載源剖效,可以極大加快下載速度嫉入。
如果安裝失敗,請在cmd中運行命令:pip install pytest-runner 璧尸。然后再次使用pip安裝pyecharts庫咒林。

2.柱形圖

第1行代碼引入庫,第2行代碼初始化1個Bar對象賦值給bar變量爷光。
第3-7行代碼準備Bar對象的add方法的3個關鍵字參數(shù)垫竞,第1個關鍵字參數(shù)name是圖例的名稱,第2個關鍵字參數(shù)x_axis是x軸的標記瞎颗,第3個關鍵字參數(shù)y_axis是每個柱形的高度件甥。
將3個關鍵字參數(shù)打包成1個數(shù)據(jù)類型為字典的變量kwargs。
kwargs作為參數(shù)傳入Bar對象的add方法中時哼拔,需要使用**kwargs引有,這樣可以使其自動解包,字典中的鍵值對會對應函數(shù)需要的參數(shù)倦逐。
最后1行譬正,Bar對象的render方法會產生一個html文件,可以用瀏覽器打開該文件進行查看檬姥。

from pyecharts import Bar 
bar = Bar('我的第一個圖表','這里是副標題')
kwargs = dict(
    name = '柱形圖',
    x_axis = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'],
    y_axis = [5,20,36,10,75,90]
)
bar.add(**kwargs)
bar.render('bar01.html')

文件夾中生成的bar01.html文件如下圖所示:

image.png

在瀏覽器中查看bar01.html文件如下圖所示:
image.png

3.直方圖

在pyecharts中曾我,直方圖也是使用Bar對象畫出。
與柱形圖的不同之處是實例化Bar對象時多了1個參數(shù)bar_category_gap健民,含義是每個柱子之間的間隔抒巢,如果設置為0,則畫直方圖秉犹。

bar = Bar('我的第一個圖表','這里是副標題')
kwargs = dict(
    name = '柱形圖',
    x_axis = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'],
    y_axis = [5,20,36,10,75,90],
    bar_category_gap = 0
)
bar.add(**kwargs)
bar
直方圖.png

4.堆疊柱狀圖

import pyecharts as pye 
x = ["襯衫", "羊毛衫", "雪紡衫","褲子", "高跟鞋", "襪子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("柱狀圖數(shù)據(jù)堆疊示例")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1,is_stack=True)
bar.add(title2,x,y2,is_stack=True)
bar.render('bar02.html')

上面一段代碼的運行結果如下圖所示:


image.png

5.標記線和標記點示例

import pyecharts as pye 
x = ["襯衫", "羊毛衫", "雪紡衫","褲子", "高跟鞋", "襪子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("標記線和標記點示例")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1,mark_point=['average'])
bar.add(title2,x,y2,mark_line=['min','max'])
bar.render('bar04.html')
bar

上面一段代碼的運行結果如下圖所示:


image.png

6.條形圖

import pyecharts as pye 
x = ["襯衫", "羊毛衫", "雪紡衫","褲子", "高跟鞋", "襪子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("x軸與y軸交換")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1)
bar.add(title2,x,y2,is_convert=True)
bar.render('bar03.html')
bar

上面一段代碼的運行結果如下圖所示:


image.png

7. 折線圖

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.render('line01.html')
line

上面一段代碼的運行結果如下圖所示:


image.png

8.折線圖2

import pyecharts as pye

x = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
y1 = [5, 20, 36, 10, 10, 100]
y2 = [55, 60, 16, 20, 15, 80]
line = pye.Line("折線圖示例")
label1 = '商家A'
label2 = '商家B'
kwargs = dict(
    mark_point=['average','max','min'],
    mark_point_symbol = 'diamond',
    mark_point_textcolor = '#40ff27'
)
line.add(label1,x,y1,**kwargs)
kwargs2 = dict(
    mark_point=['average','max','min'],
    mark_point_symbol = 'arrow',
    mark_point_symbolsize = 40
)
line.add(label2,x,y2,**kwargs2)
line

上面一段代碼的運行結果如下圖所示:


image.png

9.面積圖

import pyecharts as pye

x = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
y1 = [5, 20, 36, 10, 10, 100]
y2 = [55, 60, 16, 20, 15, 80]
line = pye.Line("面積圖示例")
label1 = '商家A'
label2 = '商家B'
kwargs = dict(
    if_fill = True,
    line_opacity = 0.2,
    area_opacity = 0.4,
    symbol = None
)
line.add(label1,x,y1,**kwargs)
kwargs2 = dict(
    s_fill= True,
    area_color= '#000',
    area_opacity= 0.3, 
    is_smooth= True
)
line.add(label2,x,y2,**kwargs2)
line

上面一段代碼的運行結果如下圖所示:


image.png

10.餅圖

import pyecharts as pye

x = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
y =  [11, 12, 13, 10, 10, 10]
pie = pye.Pie("餅圖示例")
pie.add("",x,y,is_label_show=True)
pie

上面一段代碼的運行結果如下圖所示:


image.png

11.餅圖2

import pyecharts as pye

x = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
y =  [11, 12, 13, 10, 10, 10]
pie = pye.Pie("餅圖-圓環(huán)圖示例",title_pos='center')
kwargs = dict(
    radius = (40,75),
    label_text_color = None,
    is_label_show = True,
    legend_orient = 'vertical',
    legend_pos = 'left'
)
pie.add("",x,y,**kwargs)
pie

上面一段代碼的運行結果如下圖所示:


image.png

12.散點圖

from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散點圖示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2)
scatter

上面一段代碼的運行結果如下圖所示:


image.png

13.散點圖2

from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散點圖示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2, is_visualmap=True,
visual_type='size', visual_range_size=[20,
80])
scatter

上面一段代碼的運行結果如下圖所示:


image.png

14.地圖1

from pyecharts import Map
value = [155, 10, 66, 78]
attr = ["福建", "山東", "北京", "上海"]
map = Map("全國地圖示例")
map.add("", attr, value, maptype='china')
map

上面一段代碼的運行結果如下圖所示:


image.png

15.地圖2

from pyecharts import Map
value = [20, 190, 253, 77, 65]
attr = ['汕頭市', '汕尾市', '揭陽市', '陽江市', '肇慶市']
map = Map("廣東地圖示例", width=1200,
height=600)
map.add("", attr, value, maptype='廣東',
is_visualmap=True,
visual_text_color='#000',is_label_show=True)
map

上面一段代碼的運行結果如下圖所示:


image.png

16.詞云

from pyecharts import WordCloud
name_list = ['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 EllenMark',
            'Farrah Abraham','Rita Ora', 'Serena Williams',
            'NCAA baseball tournament','Point Break']
value_list = [10000, 6181, 4386, 4055, 2467, 2244,
            1898, 1484, 1112,965, 847, 582, 555,
            550, 462, 366, 360, 282, 273, 265]
wordcloud = WordCloud(width=800, height=500)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud

上面一段代碼的運行結果如下圖所示:


image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蛉谜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子崇堵,更是在濱河造成了極大的恐慌型诚,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸳劳,死亡現(xiàn)場離奇詭異狰贯,居然都是意外死亡,警方通過查閱死者的電腦和手機赏廓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門涵紊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人幔摸,你說我怎么就攤上這事栖袋。” “怎么了抚太?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵塘幅,是天一觀的道長。 經常有香客問我尿贫,道長电媳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任庆亡,我火速辦了婚禮匾乓,結果婚禮上,老公的妹妹穿的比我還像新娘又谋。我一直安慰自己拼缝,他們只是感情好娱局,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咧七,像睡著了一般衰齐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上继阻,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天耻涛,我揣著相機與錄音,去河邊找鬼瘟檩。 笑死抹缕,一個胖子當著我的面吹牛,可吹牛的內容都是我干的墨辛。 我是一名探鬼主播卓研,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼睹簇!你這毒婦竟也來了鉴分?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤带膀,失蹤者是張志新(化名)和其女友劉穎志珍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垛叨,經...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡伦糯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗽元。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敛纲。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖剂癌,靈堂內的尸體忽然破棺而出淤翔,到底是詐尸還是另有隱情,我是刑警寧澤佩谷,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布旁壮,位于F島的核電站,受9級特大地震影響谐檀,放射性物質發(fā)生泄漏抡谐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一桐猬、第九天 我趴在偏房一處隱蔽的房頂上張望麦撵。 院中可真熱鬧,春花似錦、人聲如沸免胃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽羔沙。三九已至躺涝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間撬碟,已是汗流浹背诞挨。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工莉撇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呢蛤,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓棍郎,卻偏偏與公主長得像其障,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涂佃,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理励翼,服務發(fā)現(xiàn),斷路器辜荠,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,498評論 25 707
  • It's Thursday. Pa was putting on his boots. He put his fo...
    Mr_Oldman閱讀 156評論 0 0
  • 在生活中汽抚,沒有誰離不開誰。 當一切必須離開和剝離伯病,一定會恐懼和不安造烁,會無助和患得患失,但一切終究都會過去午笛。 當一切...
    安然2011閱讀 242評論 0 0
  • 談到加班這個事,估計走入職場中的每個人都會面臨這樣一個很常見的問題癌佩,今天咱們來聊一聊木缝。 什么樣的情況下公司會要求員...
    筱晨沐雨閱讀 525評論 4 0