Python數據可視化系列-02-pyecharts可視化很是cool

pyecharts介紹

pyecharts網站html

Pyecharts生成的圖像,動態效果很是cool。在HTML上展現非常perfect。matplotlib用於科研,可是pyecharts用於展現和講座確實很好。python

pyecharts 是一個用於生成 Echarts 圖表的類庫。
Echarts 是百度開源的一個數據可視化 JS 庫。
用 Echarts 生成的圖可視化效果很是棒。

畫圖舉例

Bar圖

from pyecharts import Pie, Bar, Gauge, EffectScatter, WordCloud, Map, Grid, Line, Timeline
import random
attr = ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar('柱狀圖數據堆疊示例')
bar.add('商家A', attr, v1, mark_point=['average'], is_stack=True)
bar.add('商家B', attr, v2, mark_point=['min', 'max'], is_stack=True)
bar.render('bar.html')
# ------------------------------------
attr = ['{}天'.format(i) for i in range(30)]
v1 = [random.randint(1, 30) for _ in range(30)]
bar = Bar('Bar - datazoom - slider示例')
bar.add('', attr, v1, is_label_show=True, 
        is_datazoom_show=True, is_more_utils=True)
bar.render('bar_slider.html')

Gauge儀表盤圖

gauge = Gauge('儀表盤示例')
gauge.add('業務指標', '完成率', 66.66)
gauge.render('gauge.html')

EffectScatter動態散點圖

v1 = [10, 20, 30, 40, 50, 60]
v2 = [25, 20, 15, 10, 60, 33]
es = EffectScatter('動態散點圖')
es.add('effectscatter', v1, v2)
es.render('effectscatter.html')

WordCloud詞雲圖

name = [u'古詩', u'textx.txt', u'hadoop', u'flask']
value = [10000, 6000, 4000, 3000]
wd = WordCloud(width=1300, height=620)
wd.add('', name, value, word_size_range=(20, 100))
wd.render('wordcloud.html')

Pie餅圖

attr = ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高 跟鞋', '襪子']
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie('餅圖示例')
pie.add('服裝', attr, v1, is_label_show=True)
pie.render('pie.html')

Grid 並行顯示多張圖

attr = ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高 跟鞋', '襪子']
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar('柱狀圖示例', height=720)
bar.add('商家A', attr, v1, is_stack=True)
bar.add('商家B', attr, v2, is_stack=True)
line = Line('折線圖示例', title_top='50%')
attr = ['週一', '週二', '週三', '週四', '週五', '週六', '週日']
line.add('最高氣溫',
         attr,
         [11, 11, 15, 13, 12, 13, 10],
         mark_point=['max', 'min'],
         mark_line=['average'],
         )
line.add('最低氣溫',
         attr,
         [1, -2, 2, 5, 3, 2, 0],
         mark_point=['max', 'min'],
         mark_line=['average'],
         legend_top='50%'
         )
grid = Grid()
grid.add(bar, grid_bottom='60%')
grid.add(line, grid_top='60%')
grid.render('grid.html')

Timeline提供時間線輪播多張圖

attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
pie_1 = Pie("2012 年銷量比例", "數據純屬虛構")
pie_1.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
          is_label_show=True, radius=[30, 55], rosetype='radius')

pie_2 = Pie("2013 年銷量比例", "數據純屬虛構")
pie_2.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
          is_label_show=True, radius=[30, 55], rosetype='radius')

pie_3 = Pie("2014 年銷量比例", "數據純屬虛構")
pie_3.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
          is_label_show=True, radius=[30, 55], rosetype='radius')

pie_4 = Pie("2015 年銷量比例", "數據純屬虛構")
pie_4.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
          is_label_show=True, radius=[30, 55], rosetype='radius')

pie_5 = Pie("2016 年銷量比例", "數據純屬虛構")
pie_5.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
          is_label_show=True, radius=[30, 55], rosetype='radius')

timeline = Timeline(is_auto_play=True, timeline_bottom=0)

timeline.add(pie_1, '2012 年')
timeline.add(pie_2, '2013 年')
timeline.add(pie_3, '2014 年')
timeline.add(pie_4, '2015 年')
timeline.add(pie_5, '2016 年')
timeline.render('timeline.html')

可視化圖像類

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 類:同一網頁按順序展現多圖 
Timeline 類:提供時間線輪播多張圖

總結

  1. 不斷向他人學習
  2. 儘量的理解本身看到的知識
  3. 多動手,多行動

參考資料

:本文參考網上資料,並通過本身思考,添加圖像進行更加直觀解釋,參考資料較多,很難找到原始引用點,故而列舉本身看到的。flask

[1] https://blog.csdn.net/u013421629/article/details/78183637?locationNum=8&fps=1
[2] http://python.tedu.cn/know/320402.html
[2] http://www.cnblogs.com/siplips/p/9853205.htmlecharts

相關文章
相關標籤/搜索