Pyecharts手册官网
这里引用自官网关于Geo_lines的代码,
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType
c = (
Geo()
.add_schema(maptype="china")
.add(
"",
[("广州", 55), ("北京", 66), ("杭州", 77), ("重庆", 88)],
type_=ChartType.EFFECT_SCATTER,
color="white",
)
.add(
"geo",
[("广州", "上海"), ("广州", "北京"), ("广州", "杭州"), ("广州", "重庆")],
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6, color="blue"
),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="Geo-Lines"))
.render("geo_lines.html")
)
原效果如下(这里,我为了让点的涟漪看起来更明显,换了个颜色)
-
如何关闭连线上的动态效果呢?
答:只需将opts.EffectOpts()中的symbol_size设置为0。 -
如何关闭点的动态效果呢?
答:只是要在有将type_=ChartType.EFFECT_SCATTER改为type_=ChartType.SCATTER即可 -
两个坐标离得太近,箭头太大影响观察连线了,如何缩小(或关闭)箭头呢?
答:需要在有type_=ChartType.LINES的add()中,加上symbol_size=x,其中x为你想要的尺寸。而非部分博主说的让is_polyline=True!!! 这会导致A→B且B→A无法正常显示出两条线路。
最终代码:
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType
c = (
Geo()
.add_schema(maptype="china")
.add(
"",
[("广州", 55), ("北京", 66), ("杭州", 77), ("重庆", 88)],
type_=ChartType.SCATTER,
color="black",
)
.add(
"geo",
[("广州", "上海"), ("广州", "北京"), ("广州", "杭州"), ("广州", "重庆")],
type_=ChartType.LINES,
symbol_size=0, # 为0,直接去掉箭头
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=0, color="blue" # symbol_size = 0 即在视觉上为不显示
),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="Geo-Lines"))
.render("geo_lines.html")
)
最终效果