pyecharts中的EffectScatter可用来绘制带有涟漪动画的动态散点图
from pyecharts import EffectScatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [25, 20, 15, 10, 60, 33]
es = EffectScatter("动态散点图")
es.add("effectScatter",
v1,
v2,
symbol_size=10,
effect_scale=3.5,
effect_period=3,
is_more_utils=True,
)
es.render(path='EffectScatter.html')
EffectScatter.add()的调用方法:
add(name, x_axis, y_axis, symbol_size=10, **kwargs)
- name -> str
- 图例名称
- x_axis -> list
- x 坐标轴数据
- y_axis -> list
- y 坐标轴数据
- symbol_size -> int
- 标记图形大小,默认为 10
上例中v1是x轴坐标数据,v2是y轴坐标数据,其它
- effect_scale -> float
动画中波纹的最大缩放比例。默认为 2.5 - effect_period -> float
动画持续的时间。默认为 4(s)
效果(这是截屏,没有体现出动态涟漪效果图):
最后的
es.render(path='EffectScatter.html')
生成EffectScatter.html动态涟漪图。
is_more_utils=True,可在生成的图中提供更多实用工具按钮,如图右侧一系列可操作工具图标,
右侧第一个图标可直接下载存储图片(默认png格式):
render()中图片结尾的格式可以为 svg/jpeg/png/pdf/gif。svg 文件需要在初始化 EffectScatter的时候设置 renderer='svg'。
png格式也体现不出动态涟漪效果图,不知如何上传这种动态的效果图,可参考官方网站上的效果图:
http://pyecharts.org/#/zh-cn/charts_base
- EffectScatter(带有涟漪特效动画的散点图)
其它形式的动态涟漪效果图示例:
from pyecharts import EffectScatter
es = EffectScatter("动态散点图各种图形示例")
es.add(
"",
[10],
[10],
symbol_size=20,
effect_scale=3.5,
effect_period=3,
symbol="pin",
)
es.add(
"",
[20],
[20],
symbol_size=12,
effect_scale=4.5,
effect_period=4,
symbol="rect",
)
es.add(
"",
[30],
[30],
symbol_size=30,
effect_scale=5.5,
effect_period=5,
symbol="roundRect",
)
es.add(
"",
[40],
[40],
symbol_size=10,
effect_scale=6.5,
effect_brushtype="fill",
symbol="diamond",
)
es.add(
"",
[50],
[50],
symbol_size=16,
effect_scale=5.5,
effect_period=3,
symbol="arrow",
)
es.add(
"",
[60],
[60],
symbol_size=6,
effect_scale=2.5,
effect_period=3,
symbol="triangle",
is_more_utils=True,
)
es.render(path='EffectScatter.html')
效果如下图:
其中的设置选项:
- symbol -> str
标记图形,有'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'可选 - effect_brushtype -> str
波纹绘制方式,有'stroke', 'fill'可选。默认为'stroke'
参考:
https://cloud.tencent.com/developer/article/1330784
https://jingyan.baidu.com/article/ce43664944f3fd3773afd3a1.html