pyecharts子產品
pycharts子產品是百度開元的一個資料可視化JavaScnpt庫。最重要的是:使用pyecharts繪制的圖表美觀且具有互動性。
pyecharts安裝
使用PIP安裝。
注意:pyecharts包在1.0版本之後就大版本更新了,現有的文法結構都變了。是以,安裝的時候要留心版本。
準備工作
import pyecharts # 0.5.11
import numpy as np
import pandas as pd
散點圖
x = [10,20,30,40,50,60]
y = [10,20,30,40,50,60]
scatter = pyecharts.Scatter("散點圖示例")
scatter.add("A", x,y)
使用pyecharts子產品繪圖十分簡單,跟之前的函數名稱都差不多,而且這個更加直接。
通過visualmap參數可以利用圖形的代銷顯示數值。
x = [10,20,30,40,50,60]
y = [10,20,30,40,50,60]
scatter = pyecharts.Scatter("散點圖示例")
scatter.add("A", x,y, is_visualmap=True, visual_type='size', visual_range_size=[10,60])
scatter
折線圖
通過Line函數可以繪制折線圖。
years = [1950, 1960, 1970, 1980, 1990, 2000, 2010]
gdp = [300.2, 543.3, 1075.9, 2826.5, 5979.6, 10289.7, 14958.3]
line = pyecharts.Line("折線圖示例")
line.add("GDP", years, gdp, mark_point=['avererage'])
line
設定is_step參數可以繪制階梯圖的代碼。
years = [1950, 1960, 1970, 1980, 1990, 2000, 2010]
gdp = [300.2, 543.3, 1075.9, 2826.5, 5979.6, 10289.7, 14958.3]
line = pyecharts.Line("折線圖示例")
line.add("GDP", years, gdp, is_step=True)
line
設定is_fill參數繪制面積圖,area_color為填充顔色,area_opacity為透明度。
years = [1950, 1960, 1970, 1980, 1990, 2000, 2010]
gdp = [300.2, 543.3, 1075.9, 2826.5, 5979.6, 10289.7, 14958.3]
line = pyecharts.Line("面積圖")
line.add("GDP", years, gdp, is_fill=True, area_color='#000', area_opacity=0.3)
line
柱狀圖
利用Bar函數可以繪制柱狀圖。
data = [23,67,89,45,78]
labels = ['A', 'B', 'C', 'D', 'E']
bar = pyecharts.Bar("柱狀圖")
bar.add("one", labels, data)
bar
使用多個add方法添加多個變量,可以繪制并列 柱狀圖。
data1 = [12,13,14,25,67]
data2 = [34,56,78,45,67]
labels = ['A', 'B', 'C', 'D', 'E']
bar = pyecharts.Bar("并列柱狀圖")
bar.add("one", labels, data1)
bar.add('two', labels, data2)
is_stack參數可以繪制堆積柱狀圖。
data1 = [12,13,14,25,67]
data2 = [34,56,78,45,67]
labels = ['A', 'B', 'C', 'D', 'E']
bar = pyecharts.Bar("堆積柱狀圖")
bar.add("one", labels, data1, is_stack=True)
bar.add('two', labels, data2, is_stack=True)
通過is_convert參數可以繪制垂直柱狀圖。
data1 = [12,13,14,25,67]
labels = ['A', 'B', 'C', 'D', 'E']
bar = pyecharts.Bar("垂直柱狀圖")
bar.add("one", labels, data1, is_convert=True)
利用mark_point和mark_line參數可以标記點和線。
data1 = [12,13,14,25,67]
data2 = [34,56,78,45,67]
labels = ['A', 'B', 'C', 'D', 'E']
bar = pyecharts.Bar("标記點和線")
bar.add("one", labels, data1, mark_point=['average'])
bar.add('two', labels, data2, mark_point=['max'], mark_line=['min', 'max'])
直方圖
設定bar_category參數為0可以繪繪制直方圖。
data1 = [12,13,14,25,67]
labels = ['A', 'B', 'C', 'D', 'E']
bar = pyecharts.Bar("直方圖")
bar.add("one", labels, data1, bar_category_gap=0)
餅圖
利用Pie方法可以繪制餅圖。
data = [55,24,67,88,99]
labels = ['A', 'B', 'C', 'D', 'E']
pie = pyecharts.Pie('餅圖')
pie.add('', labels, data, is_label_show=True)
圓環圖
通過radius參數可以設定半徑。
data = [55,24,67,88,99]
labels = ['A', 'B', 'C', 'D', 'E']
pie = pyecharts.Pie('圓環圖')
pie.add('', labels, data, radius=[30,80],is_label_show=True)
玫瑰圖
通過設定rosetype參數可以繪制玫瑰圖,radius表示圓心角不同,area表示圓心角相同。
radius
data = [55,24,67,88,99]
labels = ['A', 'B', 'C', 'D', 'E']
pie = pyecharts.Pie('玫瑰圖')
pie.add('', labels, data, is_label_show=True, radius=[50,90],rosetype='radius')
area
data = [55,24,67,88,99]
labels = ['A', 'B', 'C', 'D', 'E']
pie = pyecharts.Pie('玫瑰圖')
pie.add('', labels, data, is_label_show=True, radius=[50,90],center=[50,50],rosetype='area')