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