pyecharts圖表庫學習

pyecharts 文檔

安裝pyecharts

pip install pyecharts
install echarts-themes-pypkg

如果安裝出錯,則可指定安裝的版本號

安裝另一個版本的pyecharts,具體操作:pip install pyecharts==0.5.11

安裝主題插件

pyecharts 支持更換主體色系。
安裝主題插件:

pip install echarts-themes-pypkg

主題插件提供瞭如下主題

vintage
macarons
infographic
shine
roma
westeros
wonderland
chalk
halloween
essos
walden
purple-passion
romantic

使用主題

bar.use_theme("vintage")

公共屬性

1、標題欄的屬性:一般在實例化(初始化)類型時給與,如bar = Bar(“大標題”,“副標題”,···各種屬性···)

        title_color = “顏色”:標題顏色,可以是‘red’或者‘#0000’

        title_pos = ‘位置’:標題位置,如‘center’,‘left’···

        width = 1200:圖表的寬

        height = 800:圖表的高

        background_color = "顏色":圖表的背景色

'title' -> str
	主標題文本,支持 \n 換行,默認爲 “”

'subtitle' -> str
	副標題文本,支持 \n 換行,默認爲 “”

'width' -> int
	畫布寬度,默認爲 800(px)

'height' -> int
	畫布高度,默認爲 400(px)

'title_pos' -> str/int
	標題距離左側距離,默認爲’left’,有'auto', 'left', 'right', 'center'可選,也可爲百分比或整數

'title_top' -> str/int
標題距離頂部距離,默認爲’top’,有'top', 'middle', 'bottom'可選,也可爲百分比或整數

'title_color' -> str
	主標題文本顏色,默認爲 ‘#000’

'subtitle_color' -> str
	副標題文本顏色,默認爲 ‘#aaa’

'title_text_size' -> int
	主標題文本字體大小,默認爲 18

'subtitle_text_size' -> int
	副標題文本字體大小,默認爲 12

'background_color' -> str
	畫布背景顏色,默認爲 ‘#fff’

'is_grid' -> bool
	是否使用 grid 組件,grid 組件用於並行顯示圖表。
	具體實現參見 用戶自定義.
        ·····

2、標籤欄的屬性:如bar.add(“標籤”,x,values,···屬性···)

        'mark_'類,通個'mark_'顯示,如 mark_point['max', 'min', 'average']:標出最大最小和平均值的點,

                mark_point_textcolor,mark_line_symbolsize·····

        'legend_'類,如legend_pos=‘left’:標籤的位置

         'is_'類,如is_label_show=True:顯示每個點的值,
         		   is_datazoom_show=True:實現移動控制x軸的數量

        'is_convert' = True:x,y軸是否調換

常用的參數(可以在add()中設置,實現各種需求)
'xaxis_margin '-> int
	x 軸刻度標籤與軸線之間的距離。默認爲 8
	
'is_stack':是否堆積

'is_convert':x,y軸是否交換

'is_legend_show':是否顯示圖例

'legend_orient':圖列方向,有'horizontal'(默認水平顯示),'vertical'(垂直)可選

'legend_pos':圖例位置,有'left', 'center'(默認), 'right'可選

'legend_text_size/color':圖例名稱字體大小/顏色

'is_x/yaxis_show':是否顯示x/y軸

'x/yaxis_interval':x/y軸標籤的顯示間隔

'x/yaxis_min/max':x/y軸刻度最小值/最大值

'x/yaxis_label_textsize/textcolor':x/y軸標籤字體大小/顏色

'xaxis_rotate':x軸標籤旋轉角度

'is_splitline_show':是否顯示網格線

'is_label_show':是否顯示標籤

'label_pos':標籤的位置,有'top'(默認), 'left', 'right', 'bottom', 'inside','outside'可選

'label_text_color/size':標籤字體顏色/大小

'is_random':是否隨機排列顏色列表

'label_color':自定義標籤顏色

'mark_point/line':標記點/線,默認有'min', 'max', 'average'可選。
	可自定義標記點線,具體格式如:[{'coord': [x, y], 'name': '目標標記點'}],記住格式是一個列表

'mark_point/line_symbol':標記點/線圖形,默認爲'pin'(點),有'circle'(圓形), 'rect'(正方形), 'roundRect'(圓角正方形), 'triangle'(三角形), 'diamond'(菱形), 'pin'(點), 'arrow'(箭頭)可選

'mark_point/line_symbolsize':標記點/線圖形大小

'mark_point/line_textcolor':標記點/線字體顏色

'xaxis_interval' -> int

	x 軸刻度標籤的顯示間隔,在類目軸中有效。默認會採用標籤不重疊的策略間隔顯示標籤。
		設置成 0 強制顯示所有標籤。設置爲 1,表示『隔一個標籤顯示一個標籤』,如果值
		爲 2,表示隔兩個標籤顯示一個標籤,以此類推

'xaxis_margin' -> int
	x 軸刻度標籤與軸線之間的距離。默認爲 8

'xaxis_name' -> str
	x 軸名稱

'xaxis_name_size' -> int
	x 軸名稱體大小,默認爲 14

'xaxis_name_gap' -> int
	x 軸名稱與軸線之間的距離,默認爲 25

'xaxis_name_pos' -> str
	x 軸名稱位置,有’start’,’middle’,’end’可選

'xaxis_min '-> int/float
	x 座標軸刻度最小值,默認爲自適應。

'xaxis_max '-> int/float
	x 座標軸刻度最大值,默認爲自適應。

'xaxis_type' -> str
	x 座標軸類型
	‘value’:數值軸,適用於連續數據。
	‘category’:類目軸,適用於離散的類目數據,爲該類型時必須通過 data 設置類目數據。
	‘time’:時間軸,適用於連續的時序數據,與數值軸相比時間軸帶有時間的格式化,在刻度計算上也有所不同,例如會根據跨度的範圍來決定使用月,星期,日還是小時範圍的刻度。
	‘log’:對數軸。適用於對數數據。

'xaxis_rotate' -> int
	x 軸刻度標籤旋轉的角度,在類目軸的類目標籤顯示不下的時候可以通過旋轉防止標籤之間
		重。默認爲 0,即不旋轉。旋轉的角度從 -90 度到 90 度。

'y_axis' -> list
	y 座標軸數據

'yaxis_interval' -> int
	y 軸刻度標籤的顯示間隔,在類目軸中有效。默認會採用標籤不重疊的策略間隔顯示標籤。
	設置成 0 強制顯示所有標籤。設置爲 1,表示『隔一個標籤顯示一個標籤』,如果值爲 2,表示隔兩個標籤顯示一個標籤,以此類推

'yaxis_margin' -> int
	y 軸刻度標籤與軸線之間的距離。默認爲 8

'yaxis_formatter' -> str
	y 軸標籤格式器,如 ‘天’,則 y 軸的標籤爲數據加’天’(3 天,4),默認爲 “”

'yaxis_name' -> str
	y 軸名稱

'yaxis_name_size' -> int
	y 軸名稱體大小,默認爲 14

'yaxis_name_gap' -> int
	y 軸名稱與軸線之間的距離,默認爲 25

'yaxis_name_pos' -> str
	y 軸名稱位置,有’start’, ‘middle’,’end’可選

'yaxis_min' -> int/float
	y 座標軸刻度最小值,默認爲自適應。

'yaxis_max' -> int/float
	y 座標軸刻度最大值,默認爲自適應。

'yaxis_type' -> str
	y 座標軸類型
	‘value’:數值軸,適用於連續數據。
	‘category’:類目軸,適用於離散的類目數據,爲該類型時必須通過 data 設置類目數據。
	‘time’:時間軸,適用於連續的時序數據,與數值軸相比時間軸帶有時間的格式化,在刻度計算上也有所不同,例如會根據跨度的範圍來決定使用月,星期,日還是小時範圍的刻度。
	‘log’:對數軸。適用於對數數據。

'yaxis_rotate' -> int
y 軸刻度標籤旋轉的角度,在類目軸的類目標籤顯示不下的時候可以通過旋轉防止標籤之間重疊。默認爲 0,即不旋轉。旋轉的角度從 -90 度到 90 度。

3、dataZoom: dataZoome 組件用於區域縮放, 從而能自由關注細節的數據信息, 或者概覽數據整體, 或者去除離羣點的影響, (Line, Bar, Scatter, EffectScatter, Kline )

is_datazoom_show -> bool
	是否使用區域縮放組件,默認爲 False

datazoom_type -> str
	區域縮放組件類型,默認爲’slider’,有’slider’, ‘inside’可選

datazoom_range -> list
	區域縮放的範圍,默認爲[50, 100]

datazoom_orient -> str
	datazomm 組件在直角座標系中的方向,默認爲
	‘horizontal’,效果顯示在 x 軸。
	如若設置爲 ‘vertical’ 的話效果顯示在 y 軸。

4、legend: 圖例組件. 圖例組件展現了不同系列的標記(Symbol), 顏色和名字. 可以通過點擊圖例控制那些系列不顯示.

is_legend_show -> bool
	是否顯示頂端圖例,默認爲 True

legend_orient -> str
	圖例列表的佈局朝向,默認爲’horizontal’,有’horizontal’, ‘vertical’可選

legend_pos -> str
	圖例組件離容器左側的距離,默認爲’center’,有’left’, ‘center’, ‘right’可選

legend_top -> str
	圖例組件離容器上側的距離,默認爲’top’,有’top’, ‘center’, ‘bottom’可選

legend_selectedmode -> str/bool
	圖例選擇的模式,控制是否可以通過點擊圖例改變系列的顯示狀態。默認爲’multiple’,可以
	設成 ‘single’ 或者 ‘multiple’ 使用單選或者多選模式。也可以設置爲 False 關閉顯示狀
	態。

5、label: 圖形上的文本標籤, 可用於說明圖形的一些數據信息, 如值,名稱等.

is_label_show -> bool
	是否正常顯示標籤,默認不顯示。標籤即各點的數據項信息

is_emphasis -> bool
	是否高亮顯示標籤,默認顯示。高亮標籤即選中數據時顯示的信息項。

label_pos -> str
	標籤的位置,Bar 圖默認爲’top’。有’top’, ‘left’, ‘right’, ‘bottom’, ‘inside’,’outside’可選

label_text_color -> str
	標籤字體顏色,默認爲 “#000”

label_text_size -> int
	標籤字體大小,默認爲 12

is_random -> bool
	是否隨機排列顏色列表,默認爲 False
	is_random 可隨機打亂圖例顏色列表,算是切換風格

label_color -> list
	自定義標籤顏色。全局顏色列表,所有圖表的圖例顏色均在這裏修改。如 Bar 的柱狀顏色,Line 的線條顏色等等。

formatter -> list
	標籤內容格式器,有’series’, ‘name’, ‘value’, ‘percent’可選。如 [“name”, “value”]

		series:圖例名稱
		name:數據項名稱
		value:數據項值
		percent:數據的百分比(主要用於餅圖)
6、 lineStyle : 帶線圖形的線的風格選項, (Line, Polar, Radar, Graph, Parallel)
line_width -> int
	線的寬度,默認爲 1

line_opacity -> float
	線的透明度,0 爲完全透明,1 爲完全不透明。默認爲 1

line_curve -> float
	線的彎曲程度,0 爲完全不彎曲,1 爲最彎曲。默認爲 0

line_type -> str
	線的類型,有’solid’, ‘dashed’, ‘dotted’可選。默認爲’solid’
7、 grib3D : 3D 笛卡爾座標系組配置項, 適用於 3D 圖形. (Bar3D, Line3D, Scatter3D)
grid3D_width -> int
	三維笛卡爾座標系組件在三維場景中的高度。默認爲 100

grid3D_height -> int
	三維笛卡爾座標系組件在三維場景中的高度。默認爲 100

grid3D_depth -> int
	三維笛卡爾座標系組件在三維場景中的高度。默認爲 100

is_grid3D_rotate -> bool
	是否開啓視角繞物體的自動旋轉查看。默認爲 False

grid3D_rotate_speed -> int
	物體自傳的速度。單位爲角度 / 秒,默認爲 10 ,也就是 36 秒轉一圈。

grid3D_rotate_sensitivity -> int
	旋轉操作的靈敏度,值越大越靈敏。默認爲 1, 設置爲 0 後無法旋轉。
7、visualMap : 是視覺映射組件, 用於進行 視覺編碼, 也就是將數據映射視覺元素(視覺通道)
is_visualmap -> bool
	是否使用視覺映射組件

visual_type -> str
	制定組件映射方式,默認爲’color‘,即通過顏色來映射數值。有’color’, ‘size’可選。’szie’通過數值點的大小,也就是圖形點的大小來映射數值。

visual_range -> list
	指定組件的允許的最小值與最大值。默認爲 [0, 100]

visual_text_color -> list
	兩端文本顏色。

visual_range_text -> list
	兩端文本。默認爲 [‘low’, ‘hight’]

visual_range_color -> list
	過渡顏色。默認爲 [#50a3ba’, ‘#eac763’, ‘#d94e5d’]

visual_range_size -> list
	數值映射的範圍,也就是圖形點大小的範圍。默認爲 [20, 50]

visual_orient -> str
	visualMap 組件條的方向,默認爲’vertical’,有’vertical’, ‘horizontal’可選。

visual_pos -> str/int
	visualmap 組件條距離左側的位置,默認爲’left’。有’right’, ‘center’, ‘right’可選,也可爲百分數或整數。

visual_top -> str/int
	visualmap 組件條距離頂部的位置,默認爲’top’。有’top’, ‘center’, ‘bottom’可選,也可爲百分數或整數。

is_calculable -> bool
	是否顯示拖拽用的手柄(手柄能拖拽調整選中範圍)。默認爲 True

pyecharts 配置項
pyecharts 遵循 “先配置後使用” 的基本原則,所有的配置項將統一於類 pyecharts.conf.PyEChartsConfig 類中。

如果使用 chart.render() 這種渲染方式,可以通過模塊函數 configure 進行修改 pyecharts 中默認的配置類。

import pyecharts
pyecharts.configure(
    jshost=None,
    echarts_template_dir=None,
    force_js_embed=None,
    output_image=None,
    global_theme=None
)

output_image 指定輸出圖片類型,有 'svg', 'jpeg', 'png' 可選
global_theme 指定全局主題,目前提供的主題有 dark, vintage, macarons, infographic, shine 和 roma。

支持保存做種格式

對象.render(path=‘snapshot.html’)
對象.render(path=‘snapshot.png’)
對象.render(path=‘snapshot.pdf’)

bar.render(path='snapshot.html')
bar.render(path='snapshot.png')
bar.render(path='snapshot.pdf')

圖表類
圖表類是 pyecharts 庫中最爲核心的內容,每一個類代表了 ECharts 中一個圖表類型。

chart_id

字符串類型(str),圖表唯一標識符,默認 uuid 格式的字符串,如 'd2d9dcc4e28247518186c0882d356ba8' 。

width

數字類型(number)或字符串(str)。圖表容器 div 的寬度,接收一個有效 css 長度形式的字符串;如果是數字,以 px 爲單位。

height

數字類型(number)或字符串(str)。圖表容器 div 的高度,接收一個有效 css 長度形式的字符串;如果是數字,以 px 爲單位。

chart_id、width、height 三個屬性均支持可寫。

options

字典類型(dict),ECharts 圖表配置。不同圖表類型具有不同數據格式

方法
add()
添加圖表配置和數據。具體請參考其子類定義。
在這裏插入圖片描述

基本圖表類

Bar(柱狀圖/條形圖)
Bar3D(3D 柱狀圖)
Boxplot(箱形圖)
EffectScatter(帶有漣漪特效動畫的散點圖)
Funnel(漏斗圖)
Gauge(儀表盤)
Geo(地理座標系)
GeoLines(地理座標系線圖)
Graph(關係圖)
HeatMap(熱力圖)
Kline/Candlestick(K線圖)
Line(折線/面積圖)
Line3D(3D 折線圖)
Liquid(水球圖)
Map(地圖)
Parallel(平行座標系)
Pie(餅圖)
Polar(極座標系)
Radar(雷達圖)
Sankey(桑基圖)
Scatter(散點圖)
Scatter3D(3D 散點圖)
Surface3D(3D 曲面圖)
ThemeRiver(主題河流圖)
Tree(樹圖)
TreeMap(矩形樹圖)
WordCloud(詞雲圖)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章