python画矢量图_用Python把图做的好看点:用Pyecharts做个交互地图(三)-导出矢量图...

Pyecharts虽然能快速的做出刁刁的交互图表,但是有时候,我们并不需要交互的,而是需要一个可以插入PPT,或者文档里的一个高清矢量图。

默认情况来看,Pyecharts只能生成html格式的文件,不过从官方的文档来看,还是有办法滴

我们先来看看官方的文档是怎么表述的:

如果想直接将图片保存为 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。使用该插件请确保你的系统上已经安装了 Nodejs 环境。安装 phantomjs $ npm install -g phantomjs-prebuilt

安装 pyecharts-snapshot $ pip install pyecharts-snapshot

调用 render 方法 bar.render(path='snapshot.png') 文件结尾可以为 svg/jpeg/png/pdf/gif。请注意,svg 文件需要你在初始化 bar 的时候设置 renderer='svg'。

可见,依托两个拓展的小工具,pyecharts就能实现导出矢量图了

然后我们再在node.js中安装需要的包 : npm install -g phantomjs-prebuilt 和pip的方法相似

然后我们再安装 pyecharts-snapshot

pip install pyecharts-snapshot

安装完后

我们在代码中加入 from pyecharts import configure

from pyecharts import Geo

import pandas as pd

from pyecharts import configure

configure(output_image=True)

df=pd.read_excel('D:\\CityData\\city.xlsx')

geo_cities_coords={df.iloc[i]['City']:[df.iloc[i]['Longitude'],df.iloc[i]['Latitude']] for i in range(len(df))}

attr=list(df['City'])

value=list(df['value'])

geo = Geo("全国主要城市空气质量", "data from pm2.5",

title_pos="center", width=2400,title_color='#4E2F2F',

height=1200, background_color='#FFFFFF',renderer='svg')

geo.add("", attr,value, type="scatter",visual_range=[0, 20000], visual_text_color="#4E2F2F",

symbol_size=5, is_visualmap=True,geo_cities_coords=geo_cities_coords,maptype='china',geo_normal_color='#FFFFFF')

geo.render(path='D:\\maptest7.svg')

#type可以调整地图的表现方式,图例类型,有'scatter', 'effectScatter', 'heatmap'可选。默认为 'scatter'

#symbol_size=5 散点大小

#maptype可以选择地图,种类,比如只显示上海

#geo_normal_color 正常状态下地图的颜色 #FFFFFF是白色

#border_color 地图边界颜色

#background_color='#404a59'背景颜色

#geo_emphasis_color 区域地图被选中时的颜色

同时我们在geo = Geo()初始图表的时候加入 renderer='svg'

最后geo.render(path='D:\\maptest7.svg') 输出的时候,后缀改为svg

这样 我们就可以得到一个非常高清的 矢量图了

不过矢量图就不能做交互了

就这样啦,搞定,完结,撒花 ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值