社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python:用Pyecharts做个交互地图(三)-导出矢量图

EasyCharts • 7 年前 • 2256 次点击  

昨天好看的小哥哥又来啦,哈哈哈,人家不仅长得充满异域风情,而且还精通Python数据可视化!

快来看他绘制的图、以及他!


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

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

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

使用 pyecharts-snapshot 插件

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

1. 安装 phantomjs $ npm install -g phantomjs-prebuilt

2. 安装 pyecharts-snapshot $ pip install pyecharts-snapshot

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

更多内容请移步至 pyecharts-snapshot

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

首先我们安装node.js  Download | Node.js

然后我们再在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

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

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

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

欢迎大家加入QQ群一起探讨学



【重磅】史上最全的论文图表基本规范

学术论文的常用表格

关于学术论文Figures,你不能不知道的秘密

学术图表的基本配色方法

Execl 图表导出高清图片的方法

最全的Excel图表的基本类型与选择

如需转载请联系EasyCharts团队!


【书籍推荐】《Excel 数据之美-科学图表与商业图表的绘制》

【手册获取】国内首款-数据可视化参考手册:专业绘图必备

【必备插件】  EasyCharts -- Excel图表插件

【网易云课堂】  Excel 商业图表修炼秘笈之基础篇



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/12Ea4mPyth
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/11830
 
2256 次点击