pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。

安装

pip install pyecharts

pypi:https://pypi.org/project/pyecharts/

pyecharts v0.3.2以后,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。

地图文件被分成了三个 Python 包,分别为:

全球国家地图: echarts-countries-pypkg (1.9MB)
中国省级地图: echarts-china-provinces-pypkg (730KB)
中国市级地图: echarts-china-cities-pypkg (3.8MB)

直接使用python的pip安装:

选择自己需要的安装的地图

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-united-kingdom-pypkg

生成图片:

$ pip install snapshot-selenium
或
$ pip install snapshot-phantomjs

基本图表

pyecharts支持多种图标,主要包括:

Bar(柱状图/条形图)
Bar3D(3D 柱状图)
Boxplot(箱形图)
EffectScatter(带有涟漪特效动画的散点图)
Funnel(漏斗图)
Gauge(仪表盘)
Geo(地理坐标系)
GeoLines(地理坐标系线图)
Graph(关系图)
HeatMap(热力图)
Kline/Candlestick(K线图)
Line(折线/面积图)
Line3D(3D 折线图)
Liquid(水球图)
Map(地图)
Parallel(平行坐标系)
Pie(饼图)
Polar(极坐标系)
Radar(雷达图)
Sankey(桑基图)
Scatter(散点图)
Scatter3D(3D 散点图)
Surface3D(3D 曲面图)
ThemeRiver(主题河流图)
Tree(树图)
TreeMap(矩形树图)
WordCloud(词云图)

用户自定义

Grid 类:并行显示多张图
Overlap 类:结合不同类型图表叠加画在同张图上
Page 类:同一网页按顺序展示多图
Timeline 类:提供时间线轮播多张图

具体使用可以参考:基本图表

除了上面功能,还支持自定义图表,图表风格等等,并且支持Flask,Django等框架,大家可以自行参考pyecharts

使用

主要地图来源于这两个 Map, Geo

from pyecharts import Map, Geo

先定义一下数据

# 世界地图数据
value = [95.1, 23.2, 43.3, 66.4, 88.5]
attr= ["China", "Canada", "Brazil", "Russia", "United States"]# 省和直辖市
province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9, '浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3, '云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '舵主科技,质量保证': 1, '天津': 1, '其他': 1}
provice=list(province_distribution.keys())
values=list(province_distribution.values())# 城市 -- 指定省的城市 xx市
city = ['郑州市', '安阳市', '洛阳市', '濮阳市', '南阳市', '开封市', '商丘市', '信阳市', '新乡市']
values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1]# 区县 -- 具体城市内的区县  xx县
quxian = ['夏邑县', '民权县', '梁园区', '睢阳区', '柘城县', '宁陵县']
values3 = [3, 5, 7, 8, 2, 4]

世界地图:

map0 = Map("世界地图示例", width=1200, height=600)
map0.add("世界地图", attr, value, maptype="world",  is_visualmap=True, visual_text_color='#000')
map0.render(path="./data/04-00世界地图.html")

中国地图

# maptype='china' 只显示全国直辖市和省级
# 数据只能是省名和直辖市的名称
map = Map("中国地图",'中国地图', width=1200, height=600)
map.add("", provice, values, visual_range=[0, 50],  maptype='china', is_visualmap=True,visual_text_color='#000')
map.show_config()
map.render(path="./data/04-01中国地图.html")

省份地图

# 河南地图  数据必须是省内放入城市名
map2 = Map("河南地图",'河南', width=1200, height=600)
map2.add('河南', city, values2, visual_range=[1, 10], maptype='河南', is_visualmap=True, visual_text_color='#000')
map2.show_config()
map2.render(path="./data/04-02河南地图.html")

区县地图

# # 商丘地图 数据为商丘市下的区县
map3 = Map("商丘地图",'商丘', width=1200, height=600)
map3.add("商丘", quxian, values3, visual_range=[1, 10], maptype='商丘', is_visualmap=True,visual_text_color='#000')
map3.render(path="./data/04-03商丘地图.html")

下面的这两个可直接使用全国城市

热力分布图

data = [
("海门", 9),("鄂尔多斯", 12),("招远", 12),("舟山", 12),("齐齐哈尔", 14),("盐城", 15),
("赤峰", 16),("青岛", 18),("乳山", 18),("金昌", 19),("泉州", 21),("莱西", 21),
("日照", 21),("胶南", 22),("南通", 23),("拉萨", 24),("云浮", 24),("梅州", 25)]attr, value = geo.cast(data)geo = Geo("全国主要城市空气质量热力图", "data from pm2.5", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59')geo.add("空气质量热力图", attr, value, visual_range=[0, 25], type='heatmap',visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False)
geo.show_config()
geo.render(path="./data/04-04空气质量热力图.html")

# 空气质量评分
indexs = ['上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙']
values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60]geo = Geo("全国主要城市空气质量评分", "data from pm2.5", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59')# type="effectScatter", is_random=True, effect_scale=5  使点具有发散性
geo.add("空气质量评分", indexs, values, type="effectScatter", is_random=True, effect_scale=5, visual_range=[0, 5],visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False)
geo.show_config()
geo.render(path="./data/04-05空气质量评分.html")

支持保存做种格式

对象.render(path=‘snapshot.html’)
对象.render(path=‘snapshot.png’)
对象.render(path=‘snapshot.pdf’)

举个栗子:

bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])
# bar.print_echarts_options()
bar.render(path='snapshot.html')
bar.render(path='snapshot.png')
bar.render(path='snapshot.pdf')

如果地图显示不全或只显示南海诸岛问题
from pyecharts import Geo, Mapprovince_distribution = {'河南': 45, '北京': 97, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9, '浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3, '云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '舵主科技,质量保证': 1, '天津': 1, '其他': 1}province_keys=province_distribution.keys()
province_values=province_distribution.values()map = Map("我的微信好友分布", "@SilenceYaung",width=1200, height=600)
map.add("", province_keys, province_values, maptype='china', is_visualmap=True,
visual_text_color='#000')
map.render()# data = [
#     ("海门", 9),("鄂尔多斯", 12),("招远", 12),("舟山", 12),("齐齐哈尔", 14),("盐城", 15),
#     ("赤峰", 16),("青岛", 18),("乳山", 18),("金昌", 19),("泉州", 21),("莱西", 21),
#     ("日照", 21),("胶南", 22),("南通", 23),("拉萨", 24),("云浮", 24),("梅州", 25)]
# geo = Geo("全国主要城市空气质量", "data from pm2.5", title_color="#fff", title_pos="center",
# width=1200, height=600, background_color='#404a59')
# attr, value = geo.cast(data)
#
# geo.add("", attr, value, visual_range=[0, 200],       visual_text_color="#fff", symbol_size=15, is_visualmap=True)
# geo.show_config()
# geo.render()

一切准备就绪,然后开开心心执行代码,
纳尼,出现了显示不全或只显示南海诸岛问题解决

官网给的解释如下:

自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。下面介绍如何安装。

  1. 全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图
  2. 中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区
  3. 中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市

需要这些地图的朋友,可以装 pip 命令行:

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg

特别注明,中国地图在 echarts-countries-pypkg 里。
如果地图还是显示有问题,请安装一下安装包,具体哪个包是解决这个问题的我忘了(尴尬)

选择自己需要的安装
$ pip install echarts-countries-pypkg
$ pip install echarts-china-provinces-pypkg
$ pip install echarts-china-cities-pypkg
$ pip install echarts-china-counties-pypkg
$ pip install echarts-china-misc-pypkg
$ pip install echarts-united-kingdom-pypkg

然后完美解决:


参考:https://www.jianshu.com/p/e0b2851672cd
https://github.com/silencesmile/python_pyecharts1.5
https://www.jianshu.com/p/b17f39140e1e
https://blog.csdn.net/weixin_43746433/article/details/91346371
https://www.cnblogs.com/jyroy/p/9446486.html

问题参考:https://www.jianshu.com/p/20fd061d0b96

github:https://github.com/pyecharts/pyecharts/
pyecharts主页:http://pyecharts.org/#/zh-cn/

[710]python使用pyecharts绘制地图相关推荐

  1. python使用pyecharts绘制地图

    pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Pyt ...

  2. python中pyecharts绘制地图

    pyecharts中的Geo 地理坐标系组件用于地图的绘制,可直接使用全国的城市信息. 使用前先安装相关地图扩展包: pip install echarts-countries-pypkg pip i ...

  3. python绘制地图线路_python pyecharts绘制地图

    效果 本文使用python库--pyecharts绘制地图,修改标签样式并调色.重点在于参数调用方法(理解Union[Sequence[str]]或者看源码). 效果如图: image.png 工具与 ...

  4. python pyecharts绘制地图

    文章目录 效果 工具与配置 实操 效果 本文使用python库--pyecharts绘制地图,修改标签样式并调色.重点在于参数调用方法(理解Union[Sequence[str]]或者看源码). 效果 ...

  5. Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图

    Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图 目录 利用pyecharts绘制地图十多个地区流动轨迹动态图 Geo(GeoChartBase)函数 相关文章 ...

  6. 第4章【思考与练习2】数据文件high-speed rail.csv存放着世界各国高速铁路的情况。对世界各国高铁的数据进行绘图分析。使用Basemap绘制地图及使用Pyecharts绘制地图。

    目录 P84思考与练习2 方法一:使用Basemap绘制地图 方法二:使用Pyecharts绘制地图 P84思考与练习2 1.叙述各类图形的特点.适合展示的数据特性,以及在数据探索阶段的用途. 函数绘 ...

  7. 【python】pyecharts绘制中国地图

    from pyecharts import options as opts from pyecharts.charts import Map# 省份数据,列出的不是全国地区 province_dis ...

  8. 使用pyecharts绘制地图

    使用pyecharts绘制交互式动态地图 实验环境配置 安装pyecharts 环境 利用Geo绘制地理坐标图表 导入模块 1. 基本图表 基本示例 Geo()模块功能函数: 全国各省xx数据分布 H ...

  9. 详解python 利用 pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图

    转载: 详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图) Pyecharts绘制全球流向图 pyecharts中文教程官网 目录  安装对应的python模块 世界 ...

最新文章

  1. 用shell脚本计算日期的小函数们
  2. Leetcode 120. 三角形最小路径和 (每日一题 20210927)
  3. Hi Visual Studio for Mac
  4. C语言 | 指向指针的指针排序
  5. 【分享-windows文件快速搜索神器】Everything 免费、快速搜索文件/文件夹
  6. 收藏 | 3D目标检测综述:从数据集到2D和3D方法
  7. 你百分之九十九的问题都是因为懒
  8. Spring Cloud Spring Boot mybatis分布式微服务云架构(五)构建RESTful API
  9. cisco 模拟器安装及交换机的基本配置实验心得_看完这份1113页的TCP/IP协议+路由与交换机,成功上岸字节跳动...
  10. matlab可以写类,matlab如何写一个类
  11. layui编辑器上传图片
  12. Wangle源码分析:编解码Handler
  13. 中期国际量化:安卓手机如何下载mt4及MT4一些功能介绍
  14. 番茄钟工作法:你真的了解番茄钟么?
  15. 麦克风阵列杂音很重解决方案(科大讯飞麦克风阵列+6.0)
  16. 百度员工抱怨:1月离职,没有年终奖。。。
  17. 4个惨烈冤案背后的司法真相
  18. dubbo 服务注册成功后出现 Failed to invoke the method * in the *
  19. mlf机器人无限制格斗_极战MLF无限制机器人格斗大赛The Railgun称王
  20. 用pycharm写飞机大战

热门文章

  1. 利用linux实现计算器程序,强悍的C++程序实现计算器的linux源程序.doc
  2. 基于STM32单片机水质检测PH值检测电导率TDS检测超声波水位检测
  3. 论文笔记(十一):Learning to Track with Object Permanence
  4. 上课用计算机的好处,正确认识多媒体课件在教学中的作用
  5. 使用OpenCV实现RGB、HSI、CMYK颜色空间的转换
  6. iOS开发中识别图中的二维码
  7. 如何打造又快又好的PPT (三)
  8. 【Python】端口号脚本,避免端口号冲突
  9. STM32 深入模拟数字转换器ADC
  10. 怎样把多张图片快速合成GIF?如何在线合成gif动图?