python中pyecharts繪製帶有漣漪特效的動態散點圖

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

http://pyecharts.org/#/zh-cn/charts_base?id=effectscatter%EF%BC%88%E5%B8%A6%E6%9C%89%E6%B6%9F%E6%BC%AA%E7%89%B9%E6%95%88%E5%8A%A8%E7%94%BB%E7%9A%84%E6%95%A3%E7%82%B9%E5%9B%BE%EF%BC%89

  • 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'

 參考:

http://pyecharts.org/#/zh-cn/charts_base?id=effectscatter%EF%BC%88%E5%B8%A6%E6%9C%89%E6%B6%9F%E6%BC%AA%E7%89%B9%E6%95%88%E5%8A%A8%E7%94%BB%E7%9A%84%E6%95%A3%E7%82%B9%E5%9B%BE%EF%BC%89

https://cloud.tencent.com/developer/article/1330784

https://jingyan.baidu.com/article/ce43664944f3fd3773afd3a1.html

https://www.jianshu.com/p/b718c307a61c

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章