【免費贈書】使用 pyechart 輕鬆玩轉數據可視化
(點擊上方公眾號,可快速關注一起學Python)
pyecharts是一個用於生成Echarts圖表的類庫;而Echarts是百度開源的一個數據可視化JavaScnpt庫。使用pyecharts繪製的圖表美觀且具有交互性。
散點圖
pyecharts庫可繪製多種圖形。利用Scatter方法可繪製散點圖,代碼如下:
import
numpy
as
npimport
pandasas
pdimport
pyechartsx = [10
,20
,30
,40
,50
,60
]y = [
10
,20
,30
,40
,50
,60
]scatter =pyecharts.Scatter("散點圖示例"
)#加入標題
scatter.add("A"
, x,y)#繪製散點圖
scatter
pyecharts繪圖的核心代碼是add方法,該方法用於添加圖表的數據和設置各種配置項。在scatter中,add函數的參數如下,其中,name為圖例名稱,後面依次為x軸和y軸,symbol_size為散點圖大小,默認為10。
None 10add(name, x_axis,y_axis, extra_data=
繪製的散點圖如圖所示。
利用
Visualmap組件,可以通過圖形點大小映射數值,效果如圖所示。代碼如下:
10 20 30x = [
,
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方法可繪製折線圖,代碼如下:
1950 1960years = [
,
1970
,1980
,1990
,2000
,2010
]gdp = [300.2
,543.3
,1075.9
,2862.5
,5979.6
,
10289.7
,14958.3
]line =pyecharts.Line("折線圖示例"
)line.add("GDP"
,years, gdp, mark_point=["average"
])#標記平均值
line下面給出line.add方法的參數。is_symbol_show顯示標記圖形;is_smooth顯示平滑曲線;is_stack顯示數據堆疊;is_step設置階梯線圖;is_fill繪製面積圖,具體代碼如下:
True False Falseadd(name, x_axis,y_axis, is_symbol_show=
, is_step=
False
,is_fill=False
, **kwargs)繪製的折線圖如圖所示。
下面給出通過設置is_step參數繪製階梯圖的代碼,最終的效果如圖所示
1950 1960 1970 1980 1990years = [
,
2000
,2010
]gdp = [300.2
,543.3
,1075.9
,2862.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為透明度,效果如圖所示。
1950 1960 1970 1980 1990 2000 2010 300.2 543.3 1075.9 2862.5 5979.6 10289.7 14958.3 "面積圖" "GDP" True "#000" 0.3years = [
柱狀圖
利用Bar方法可以繪製柱狀圖,代碼如下:
23 85 72 43 52 "A" "B" "C" "D" "E" "柱狀圖" "one"data = [
下面給出bar.add方法的參數。其中,is_stack為堆積柱狀圖;bar_category_gap為類目間的距離,值為0時則可以繪製直方圖。
False "20%"add(name, x_axis,y_axis, is_stack=
繪製的柱狀圖如圖所示。
使用多個add方法可以繪製並列柱狀圖,效果如圖所示。代碼如下:
23 85 72 43 52 14 35 62 41 19 "A" "B" "C" "D" "E" "並列柱狀圖" "one" "two"data1 = [
通過設置is_stack參數可以繪製堆積柱狀圖,效果如圖所示。代碼如下:
23 85 72 43 52 14 35 62 41 19 "A" "B" "C" "D" "E" "堆積柱狀圖" "one" True "two" Truedata1 = [
通過設置is_convert參數可以繪製垂直柱狀圖,效果如圖所示。代碼如下:
23 85 72 43 52 "A" "B" "C" "D" "E" "垂直柱狀圖" "one" Truedata1 = [
通過設置mark_point和mark_line參數可以標記點和線,效果如圖所示。代碼如下:
23 85 72 43 52 14 35 62 41 19 "A" "B" "C" "D" "E" "標記點和線" "one" "average" "two" "max" "min" "max"data1 = [
注意:全局變數mark_line要寫入最後一個add方法中。
令bar_category_gap參數為0,可繪製直方圖,效果如圖所示。代碼如下:
23 85 72 43 52 67 98 76 "A" "B" "C" "D" "E" "F" "G" "H" "直方圖" "" 0data = [
餅圖
餅圖用於表現不同類別的佔比情況。利用Pie方法可繪製餅圖,代碼如下:
45 76 35 47 56 "電腦" "手機" "冰箱" "彩電" "洗衣機" "餅圖" "" Truedata = [
下面給出pie.add方法的參數。其中,radius為設置餅圖半徑,默認為[0,75],第一項為內半徑,第二項為外半徑;center為設置餅圖中心坐標,默認為[50,50],第一項為橫坐標,第二項為縱坐標;rosetype可以設置南丁格爾圖(玫瑰圖),有兩種表現形式,分別為radius和area。
None None Noneadd(name, attr, value, radius=
繪製的餅圖如圖所示。
設置radius參數為[40,75],這樣就有了內半徑值,就可以繪製圓環圖了,效果如圖所示。代碼如下:
45 76 35 47 56 "電腦" "手機" "冰箱" "彩電" "洗衣機" "圓環圖" "" 40 75 Truedata = [
設置radius參數為[40,75],這樣就有了內半徑值,就可以繪製圓環圖了,效果如圖所示。代碼如下:
45 76 35 47 56 "電腦" "手機" "冰箱" "彩電" "洗衣機" "圓環圖" "" 40 75 Truedata = [
通過設置center參數可以繪製多個餅圖,這樣就可以比較兩種玫瑰圖的區別。通過圖可以看出,通過radius參數繪製的玫瑰圖的圓心角不同,以此來顯示其數據的百分比,玫瑰圖的半徑顯示數據的數值大小;通過area參數繪製的玫瑰圖的圓心角相同,僅通過半徑大小來顯示數據的區別。實現代碼如下:
45 76 35 47 56 "電腦" "手機" "冰箱" "彩電" "洗衣機" "玫瑰圖" "" 20 75 25 50 "radius" "" 20 75 75 50 "area" Truedata= [
箱線圖
箱線圖可顯示一組數據的最大值、最小值、中位數、下四分位數及上四分位數,可以體現數據的分布規律。利用Boxplot方法可繪製餅圖,其參數見下文。其中,x_axis為橫坐標列表;y_axis為嵌套列表。每個列表為[min, Q1, median (or Q2), Q3, max],該列表可通過內置的prepare_data方法轉換。
add(name, x_axis, y_axis, **kwargs)
這裡以Iris數據為例,首先讀入數據,如圖所示。
通過以下代碼即可繪製箱線圖,如圖所示。
0 4 #構造y "箱線圖" #數據轉化 ""x =list(iris_data.columns[
以上內容選自《
從零開始學Python數據分析
》。
想要了解更多的數據分析技術
可以
點擊購買鏈接
來訂購哦。
目前比較火的方向,大家都清楚,是機器學習。那麼機器學習演算法有沒有推薦的書呢?就給大家推薦一本,如下:
福利來了
本次小編特意拿出 4 本《
從零開始學Python數據分析
》和3本《
scikit learn機器學習
》作為福利贈送給關注Python那些事的小夥伴們,特別感謝
機械工業出版社
的贊助與支持。
贈書規則:
1、大家可以在本文留言區
留言評論自己想要某本書的理由或者是評論某項Python技術或者與Python那些事的故事
,小編將從留言區選擇最受歡迎的4位贈書;
2、我將從本文留言中選擇我最喜歡的3個留言,大家可以自由發揮;
由於留言區數目有限,會篩選放出認真有價值的評論。
截止日期為
9月15日 22:00
。
注意:本著公平的原則,刷贊無效,並且永久取消活動資格,歡迎舉報!
(完)
看完本文有收穫?請轉
發分享給更多人
關注「P
ython那些事」,做全棧開發工程師
推薦閱讀:
※大佛:查詢網貸平台數據的簡單方法!
※【整理版】漏斗圖的兩個實際工作案例
※【添加日誌】從無到有搭建數據驅動自動化測試框架(12)
※EXCEL常用技巧輸入和編輯數據
※婚戀大數據顯示:婚外戀的女人也越來越多?