转载:https://www.cnblogs.com/crazyforever/articles/9569258.html
官网手册:https://pyecharts.org/#/zh-cn/intro
Echarts网址:https://echarts.apache.org/examples/zh/index.html
渲染图表
示例第一个图表:
1 2 3 4 5 6 |
|
add()
主要方法,用于添加图表的数据和设置各种配置项render()
默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。
Note: 可以按右边的下载按钮将图片下载到本地,如果想要提供更多实用工具按钮,请在 add()
中设置 is_more_utils
为 True
效果图:
使用主题
1 2 3 4 5 6 7 |
|
- use_theme() 用于设置主题
效果:
多个数据
1 2 3 4 5 6 7 8 9 10 11 12 |
|
多次显示图表
从 v0.4.0+ 开始,pyecharts 重构了渲染的内部逻辑,改善效率。推荐使用以下方式显示多个图表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
基本图表类详情
Bar(柱状图/条形图):柱状/条形图,通过柱形的高度/条形的宽度来表现数据的大小。
- add(name, x_axis, y_axis, is_stack=False, bar_category_gap='20%', **kwargs)
- name->str 图例名称
- x_axis -> list-->x 坐标轴数据
- y_axis -> list-->y 坐标轴数据
- is_stack -> bool数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置
- bar_category_gap -> int/str,类目轴的柱状距离,当设置为 0 时柱状是紧挨着(直方图类型),默认为 '20%'
is_stack 实现数据堆叠
1 2 3 4 5 6 7 8 9 |
|
使用标记点和标记线
1 2 3 4 5 6 7 8 9 |
|
is_convert 交换 XY 轴
1 2 3 4 5 6 7 8 9 |
|
dataZoom 效果,'slider' 类型
1 2 3 4 5 6 7 8 9 |
|
Bar3D(3D 柱状图)
add(name, x_axis, y_axis, data, grid3d_opacity=1, grid3d_shading='color', **kwargs)
- name -> str
图例名称 - x_axis -> str
x 坐标轴数据。需为类目轴,也就是不能是数值。 - y_axis -> str
y 坐标轴数据。需为类目轴,也就是不能是数值。 - data -> [list], 包含列表的列表
数据项,数据中,每一行是一个『数据项』,每一列属于一个『维度』 - grid3d_opacity -> int
3D 笛卡尔坐标系组的透明度(柱状的透明度),默认为 1,完全不透明。 - grid3d_shading -> str
三维柱状图中三维图形的着色效果。 - color:只显示颜色,不受光照等其它因素的影响。
- lambert:通过经典的 lambert 着色表现光照带来的明暗。
- realistic:真实感渲染,配合 light.ambientCubemap 和 postEffect 使用可以让展示的画面效果和质感有质的提升。ECharts GL 中使用了基于物理的渲染(PBR) 来表现真实感材质。
View Code
Gauge(仪表盘)
add(name, attr, value, scale_range=None, angle_range=None, **kwargs)
- name -> str
图例名称 - attr -> list
属性名称 - value -> list
属性所对应的值 - scale_range -> list
仪表盘数据范围。默认为 [0, 100] - angle_range -> list
仪表盘角度范围。默认为 [225, -45]
1 2 3 4 5 |
|
Geo(地理坐标系)
add(name, attr, value, type="scatter", maptype='china', coordinate_region='中国', symbol_size=12, border_color="#111", geo_normal_color="#323c48", geo_emphasis_color="#2a333d", geo_cities_coords=None, is_roam=True, **kwargs)
- name -> str
图例名称 - attr -> list
属性名称 - value -> list
属性所对应的值 - type -> str
图例类型,有'scatter', 'effectScatter', 'heatmap'可选。默认为 'scatter' - maptype -> str
地图类型。 从 v0.3.2+ 起,地图已经变为扩展包,支持全国省份,全国城市,全国区县,全球国家等地图,具体请参考 地图自定义篇 - coordinate_region -> str
城市坐标所属国家。从 v0.5.7 引入,针对国际城市的地理位置的查找。默认为中国
。具体的国家/地区映射表参照 countries_regions_db.json。更多地理坐标信息可以参考 数据集篇 - symbol_size -> int
标记图形大小。默认为 12 - border_color -> str
地图边界颜色。默认为 '#111' - geo_normal_color -> str
正常状态下地图区域的颜色。默认为 '#323c48' - geo_emphasis_color -> str
高亮状态下地图区域的颜色。默认为 '#2a333d' - geo_cities_coords -> dict
用户自定义地区经纬度,类似如 {'阿城': [126.58, 45.32],} 这样的字典。 - is_roam -> bool
是否开启鼠标缩放和平移漫游。默认为 True
如果只想要开启缩放或者平移,可以设置成'scale'或者'move'。设置成 True 为都开启
View Code
Kline/Candlestick(K线图)
add(name, x_axis, y_axis, **kwargs)
- name -> str
图例名称 - x_axis -> list
x 坐标轴数据 - y_axis -> [list], 包含列表的列表
y 坐标轴数据。数据中,每一行是一个『数据项』,每一列属于一个『维度』。 数据项具体为 [open, close, lowest, highest] (即:[开盘值, 收盘值, 最低值, 最高值])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Map(地图)
地图主要用于地理区域数据的可视化
add(name, attr, value, maptype='china', is_roam=True, is_map_symbol_show=True, **kwargs)
- name -> str
图例名称 - attr -> list
属性名称 - value -> list
属性所对应的值 - maptype -> str
地图类型。 从 v0.3.2+ 起,地图已经变为扩展包,支持全国省份,全国城市,全国区县,全球国家等地图,具体请参考 地图自定义篇 - is_roam -> bool/str
是否开启鼠标缩放和平移漫游。默认为 True
如果只想要开启缩放或者平移,可以设置成'scale'或者'move'。设置成 True 为都开启 - is_map_symbol_show -> bool
是否显示地图标记红点,默认为 True。 - name_map -> dict
- 用自定义的地图名称. 有些地图提供行政区号,
name_map
可以帮助把它们转换成用户满意的地名。比如英国选区地图,伦敦选区的行政区号是 E14000639 ,把它转换成可读地名就需要这么一个字典
1 2 3 4 5 6 7 |
|
WordCloud(词云图)
add(name, attr, value, shape="circle", word_gap=20, word_size_range=None, rotate_step=45)
- name -> str
图例名称 - attr -> list
属性名称 - value -> list
属性所对应的值 - shape -> list
词云图轮廓,有'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star'可选 - word_gap -> int
单词间隔,默认为 20。 - word_size_range -> list
单词字体大小范围,默认为 [12, 60]。 - rotate_step -> int
旋转单词角度,默认为 45
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
更多炫酷的效果图请参考:http://pyecharts.org/#/zh-cn/charts
数据解析
numpy 数据类型
add 数据直接支持 numpy.array
对象
1 2 3 4 5 6 7 8 |
|
zip 函数
在 pyecharts.base.Base.add(name, x_axis, y_axis)
函数中,数据参数通常要求数据是两个长度相等的列表。
1 2 3 4 5 6 7 8 9 |
|
Base.cast 函数
数据格式化处理函数,能够将源数据转化为符合 pyecharts 的数据。
具体转化格式如下:
- 元组列表
[(A1, B1), (A2, B2), (A3, B3), (A4, B4)] --> k_lst[ A[i1, i2...] ], v_lst[ B[i1, i2...] ] - 字典列表
[{A1: B1}, {A2: B2}, {A3: B3}, {A4: B4}] --> k_lst[ A[i1, i2...] ], v_lst[ B[i1, i2...] ] - 字典
{A1: B1, A2: B2, A3: B3, A4: B4} -- > k_lst[ A[i1, i2...] ], v_lst[ B[i1, i2...] ]
1 2 3 4 5 6 |
|
borax.fetch 模块
borax 要求 Python3.5 以上,可以使用以下命令安装这个库,pip install borax
该模块使用 fetch
函数:fetch(iterable, key, *keys, default=EMPTY, defaults=None, getter=None)
各参数的意义如下:
- iterable:数据列表
- key / keys:键值、属性访问方式的索引
- default:默认值,用于选择单个属性
- defaults:默认值字典,用于选择多个属性
- getter:自定义访问回调函数
应当注意的是,在使用时, default 、 defaults 和 getter 参数必须使用关键字方式传递
1 2 3 4 5 6 7 8 9 10 11 |
|