最近碰巧需要用到pyecharts,但是实数门外汉,完全不懂怎么使用。网上找了一些教程和博客,不是CV大法,就是通篇代码,既没有代码里的注释,也没有文字解释。看了半天还是不知道各项属性是什么意思,怎么使用,到头来还要自己慢慢摸索。(以上纯属个人吐槽,并非贬低所有博主,也没有表示我写的就好。只是单纯觉得有一些博文语焉不详,并没有什么实际意义。同时告诫自己。)

欢迎交流,喷子勿扰,侵权删除。

回归正题

pyecharts有一个官方API文档,几乎包揽了全部内容。便于查看。如果有一定的基础,建议直接在API中寻找所需内容,不建议去看别人的博客了。毕竟很多东西都是要自己实践过后才能得出答案。

官方API文档

pyecharts - A Python Echarts Plotting Library built with love.

官方文档是中文的,清晰简洁。有目录栏,方便查看。各项属性和介绍都有。

安装

https://pyecharts.org/#/zh-cn/quickstart?id=%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85

依旧是官方文档里有说明。

使用

写法

总的来说,写法分成4部分

  1. 引用(即import)
  2. 数据(即data)
  3. 配置属性(即option)
  4. 生成文件(即render)

调用方式有两种,一种是链式调用,一种是单独调用。

官方文档里其实还是给出了说明,我这里CV过来了。

from pyecharts.charts import Bar
from pyecharts import options as opts# V1 版本开始支持链式调用
# 你所看到的格式其实是 `black` 格式化以后的效果
# 可以执行 `pip install black` 下载使用
bar = (Bar().add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]).add_yaxis("商家A", [5, 20, 36, 10, 75, 90]).set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))# 或者直接使用字典参数# .set_global_opts(title_opts={"text": "主标题", "subtext": "副标题"})
)
bar.render()# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
bar.render()

这里可以清楚的看到,两种写法之间的区别,怎么写随你的心意。

各个配置项

上面这张图基本反映出了所有需要配置的配置项,如果需要设置相应的配置项,可以根据API里的描述,去进行设置。

实例

这里做一个全国地图的实例。

展示地图,并保存为指定的html文件

# encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from pyecharts.faker import Faker
from pyecharts import options as opts  # 导入模块
from pyecharts.charts import Map  # 导入模块customMap = (Map().add("商家A",  # 图例[list(z) for z in zip(Faker.provinces, Faker.values())],  # 数据项"china"  # 地图).set_global_opts(  # 设置全局项title_opts=opts.TitleOpts(  # 设置标题项title="中国地图"  # 设置标题名称))
)
customMap.render("demo11.html")  # 生成名为demo11的本地html文件

效果展示如下:

中国地图

可以看到标题在左上角,图例在中间最顶上。这似乎有些不符合我们的审美,那接下来我们把标题居中,把图例放到右下角。

标题居中,图例放到右下角

# encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from pyecharts.faker import Faker
from pyecharts import options as opts  # 导入模块
from pyecharts.charts import Map  # 导入模块customMap = (Map().add("商家A",  # 图例[list(z) for z in zip(Faker.provinces, Faker.values())],  # 数据项"china"  # 地图).set_global_opts(  # 设置全局项title_opts=opts.TitleOpts(  # 设置标题配置项title="中国地图",  # 设置标题名称pos_left="center"  # 设置标题居中),legend_opts=opts.LegendOpts(  # 设置图例配置项pos_right="right",  # 设置为水平居右pos_bottom="bottom"  # 设置为垂直居下))
)
customMap.render("demo11.html")  # 生成名为demo11的本地html文件

效果图展示:

效果展示2

当然啦,如果我们的图上想加上一些视觉映射配置,例如下面这样:

展示

那我需要再增加代码。

增加视觉映射配置(分段式)

# encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from pyecharts.faker import Faker
from pyecharts import options as opts  # 导入模块
from pyecharts.charts import Map  # 导入模块customMap = (Map().add("商家A",  # 图例[list(z) for z in zip(Faker.provinces, Faker.values())],  # 数据项"china"  # 地图)# 设置系列配置项.set_series_opts(label_opts=opts.LabelOpts(  # 设置标签配置项is_show=False  # 设置不显示Label))# 设置全局项.set_global_opts(title_opts=opts.TitleOpts(  # 设置标题配置项title="中国地图",  # 设置标题名称pos_left="center"  # 设置标题居中),# 设置图例配置项legend_opts=opts.LegendOpts(pos_right="right",  # 设置为水平居左pos_bottom="bottom"  # 设置为垂直居下),# 设置视觉映射配置项visualmap_opts=opts.VisualMapOpts(is_piecewise=True,  # 设置为分段pieces=[  # 自定义分段名称和颜色{"value": "1", "label": "A", "color": "red"},{"value": "2", "label": "B", "color": "orange"},{"value": "3", "label": "C", "color": "yellow"},{"value": "4", "label": "D", "color": "green"},{"value": "5", "label": "E", "color": "blue"},{"value": "6", "label": "F", "color": "cyan"},{"value": "7", "label": "G", "color": "purple"}]))
)
customMap.render("demo11.html")  # 生成名为demo11的本地html文件

效果图如下

分段式视觉映射配置效果

{"value": "1", "label": "A", "color": "red"},这段代码是用来写自定义视觉映射项的

"value": "1"  :值为1,后面会提到为什么这样设置

"label": "A"  :标签名称为A

"color": "red"  :颜色为红色

那么接下来就是配置数据和图例项了

配置数据

之前我们使用的是官方提供的数据,

[list(z) for z in zip(Faker.provinces, Faker.values())]

这个是别人提供的,但是我们想用自己的,那么怎么操作呢?

当然先自己定义一个数据项,然后把这个换成自己的数据项。

mydata1 = [("云南", 1)
]
mydata2 = [("广东", 2)
]
mydata3 = [("浙江", 3)
]

这是数据项的配置。因为我们使用的map图,因此,没有经纬度要填写,要写的只是,省份和对应的value值,熟悉吗?value,刚刚在上面提到的,自定义视觉映射项时的value值要和这里的值对应哦。

配置图例项

.add("图例1",  # 图例mydata1,  # 数据项"china"  # 地图).add("图例2",  # 图例mydata2,  # 数据项"china"  # 地图).add("图例3",  # 图例mydata3,  # 数据项"china"  # 地图)

.add里有3个参数,第一个是图例名称,第二个是数据,第三个是地图种类。

综合

# encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from pyecharts.faker import Faker
from pyecharts import options as opts  # 导入模块
from pyecharts.charts import Map  # 导入模块mydata1 = [("云南", 1)
]
mydata2 = [("广东", 2)
]
mydata3 = [("浙江", 3)
]
customMap = (Map().add("图例1",  # 图例mydata1,  # 数据项"china"  # 地图).add("图例2",  # 图例mydata2,  # 数据项"china"  # 地图).add("图例3",  # 图例mydata3,  # 数据项"china"  # 地图)# 设置系列配置项.set_series_opts(label_opts=opts.LabelOpts(  # 设置标签配置项is_show=False  # 设置不显示Label))# 设置全局项.set_global_opts(title_opts=opts.TitleOpts(  # 设置标题配置项title="中国地图",  # 设置标题名称pos_left="center"  # 设置标题居中),# 设置图例配置项legend_opts=opts.LegendOpts(pos_right="right",  # 设置为水平居左pos_bottom="bottom"  # 设置为垂直居下),# 设置视觉映射配置项visualmap_opts=opts.VisualMapOpts(is_piecewise=True,  # 设置为分段pieces=[  # 自定义分段名称和颜色{"value": "1", "label": "A", "color": "red"},{"value": "2", "label": "B", "color": "orange"},{"value": "3", "label": "C", "color": "yellow"},{"value": "4", "label": "D", "color": "green"},{"value": "5", "label": "E", "color": "blue"},{"value": "6", "label": "F", "color": "cyan"},{"value": "7", "label": "G", "color": "purple"}]))
)
customMap.render("demo11.html")  # 生成名为demo11的本地html文件

效果图

最终效果

OK,这样一个自定义的就完成了!有问题欢迎交流!

#2019/7/29 21:00更新

使用Geo图新完成了一个有大量数据的地图

# encoding: utf-8
'''
# @Author  : ccq
# @File    : demo02.py
# @Time    : 2019/7/29 13:57
'''from pyecharts import options as opts  # 导入模块
from pyecharts.charts import Geo  # 导入模块# 设置数据
persondata = [('云南', '1'), ('云南', '3'), ('北京', '4'), ('甘肃', '4'), ('广西', '4'), ('广西', '3'), ('广西', '6'),('广东', '4'), ('广东', '1'), ('广东', '2'), ('安徽', '4'), ('贵州', '4'), ('河南', '4'), ('湖北', '5'),('山西', '4'), ('陕西', '4'), ('上海', '4'), ('四川', '4'), ('四川', '5'), ('四川', '3'), ('四川', '6'),('新疆', '3'), ('新疆', '4'), ('浙江', '4'), ('浙江', '5'), ('浙江', '6'), ('云南', '5'), ('云南', '3'),('重庆', '4'), ]
chickendata = [('北京', '4'), ('广西', '4'), ('广西', '3'), ('河南', '4'), ('河南', '3'), ('江苏', '4'), ('江西', '4'),('江西', '5'), ('山东', '4'), ('上海', '4'), ('四川', '4'), ('四川', '5'), ('四川', '3'), ('广东', '4'), ('广东', '3'), ]
duckdata = [('北京', '4'), ('山东', '4'), ('浙江', '4'), ('广东', '4'), ('广东', '3'), ]
pigdata = [('广西', '4'), ('广西', '5'), ('广东', '4'), ('黑龙江', '4'), ('江西', '4'), ('江西', '5'), ('山东', '4'), ]
seafooddata = [('广东', '4'), ]
mousedata = [('河南', '4'), ]
cattledata = [('新疆', '3'), ]
sheepdata = [('新疆', '3'), ]
geo = Geo()  # 初始化配置项
geo.add_schema(maptype="china")  # 设置地图类型
geo.add(#添加图例'鼠',#图例名称persondata,#数据源symbol='circle',#图例形状)
geo.add('牛',chickendata,symbol='rect',
)
geo.add('虎',duckdata,symbol='roundRect',
)
geo.add('兔',pigdata,symbol='triangle',
)
geo.add('龙',seafooddata,symbol='diamond',
)
geo.add('蛇',mousedata,symbol='pin',
)
geo.add('马',cattledata,symbol='arrow',
)
geo.add('羊',sheepdata,symbol='none',
)
geo.set_global_opts(  # 设置全局项title_opts=opts.TitleOpts(  # 设置标题配置项title="中国地图",  # 设置标题名称pos_left="center"  # 设置标题距离容器左边的位置 这里为居中),visualmap_opts=opts.VisualMapOpts(  # 设置视觉映射配置项is_piecewise=True,  # 设置是否为分段型pos_left="left",  # 设置视觉映射距离容器左边的位置 这里为居左pos_bottom="bottom",  # 设置视觉映射距离容器底部的位置 这里为底部orient="vertical",  # 设置水平('horizontal')或者竖直('vertical')pieces=[  # 设置每段的范围、文字、颜色{"value": "1", "label": "A", "color": "red"},{"value": "2", "label": "B", "color": "orange"},{"value": "3", "label": "C", "color": "yellow"},{"value": "4", "label": "D", "color": "green"},{"value": "5", "label": "E", "color": "blue"},{"value": "6", "label": "F", "color": "cyan"},{"value": "7", "label": "G", "color": "purple"}],),legend_opts=opts.LegendOpts(  # 设置图例配置项pos_right="right",pos_top="top",orient="vertical",),
)
geo.set_series_opts(label_opts=opts.LabelOpts(  # 设置标签配置项is_show=False  # 设置不显示Label)
)geo.render("demo03.html")  # 生成名为"demo03"的本地html文件

Geo效果图

与Map不同在于:

Map中add的时候需要添加地图属性'china',但是Geo中只需要额外添加一句

geo.add_schema(maptype="china")  # 设置地图类型

Python之pyecharts使用相关推荐

  1. python怎么安装pyecharts_基于Python安装pyecharts所遇的问题及解决方法

    最近学习到数据可视化内容,老师推荐安装pyecharts,于是pip install 了一下,结果...掉坑了,下面是我的跳坑经验,如果你有类似问题,希望对你有所帮助. 第一个坑: 这个不难理解,缺少 ...

  2. 【Python】Pyecharts数据可视化模块练习

    python:Pyecharts数据可视化模块练习 # -*- coding: utf-8 -*- """ Created on Sun Aug 5 22:16:09 2 ...

  3. Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化

    Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 目录 利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 Bar( ...

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

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

  5. Python之pyecharts:利用pyecharts(十五种风格)绘制2018年~2020年中国互联网Top巨头近三年市值(美元)柱状图

    Python之pyecharts:利用pyecharts(十五种风格)绘制2018年~2020年中国互联网Top巨头近三年市值(美元)柱状图 目录 pyecharts(十五种风格)绘制2018年~20 ...

  6. python中pyecharts模块全局配置_python中pyecharts模块的使用示例

    python中pyecharts模块的使用示例 发布时间:2020-11-24 09:28:53 来源:亿速云 阅读:66 作者:小新 小编给大家分享一下python中pyecharts模块的使用示例 ...

  7. python安装pyecharts清华_基于Python安装pyecharts所遇的问题及解决方法

    最近学习到数据可视化内容,老师推荐安装pyecharts,于是pip install 了一下,结果...掉坑了,下面是我的跳坑经验,如果你有类似问题,希望对你有所帮助. 第一个坑: 这个不难理解,缺少 ...

  8. python使用pyecharts库画地图数据可视化

    python使用pyecharts库画地图数据可视化 导库 中国地图 代码 结果 世界地图 代码 结果 省级地图 代码 结果 地级市地图 代码 结果 导库 from pyecharts import ...

  9. CSDN 2020 博客之星实时数据排名(Python 爬虫 + PyEcharts)

    CSDN 2020 博客之星实时数据排名:csdn.itrhx.com CSDN 一年一度的博客之星评选开始了,官网地址:https://bss.csdn.net/m/topic/blog_star2 ...

  10. 数据可视化:python调用pyecharts库绘制航线专题图

    写在前面 这学期上了数据通讯这门课,其中有一个作业是要求爬取某一天各重要城市到上海虹桥以及上海浦东两机场的航班信息,然后进行可视化.数据分析.在这一份作业用到的可视化工具是python的pyechar ...

最新文章

  1. 零基础学Java需要做哪些准备
  2. USEARCH — 最简单易学的扩增子分析流程(中国总代理)
  3. E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法...
  4. APUE读书笔记-03文件输入输出(2)
  5. Cloudify — OpenStack Infrastructure Plugin V3
  6. 修改项目图标_快速转换和制作图标
  7. struts实现分页_在TensorFlow中实现点Struts
  8. JavaScript字符串替换replace方法
  9. R语言自定义设置使用内存的大小、可以使用的内存范围?
  10. MATLAB 2017a 中文破解版安装教程
  11. 天正计算机命令大全,新手必看-史上最全CAD快捷键大全
  12. Vite图片压缩(vite-plugin-imagemin) imagemin error: XXXX解决办法
  13. Linux下键盘测试工具
  14. 张飞硬件第二章笔记(二)
  15. android 查看UID
  16. LORA大模型加速微调和训练算法
  17. 有关颜色敏感度测试的软件是啥,色彩敏感度测试:你是色盲吗?
  18. 推荐好用的开源 Docker 工具
  19. android 10.0 展讯 MTK内置可卸载app
  20. 改革者陈磊和一场“迅雷复兴运动”

热门文章

  1. 北向资金 python_GitHub - lemonche/capitalfarmer: 解析东方财富网上的API,包装成python库...
  2. 会声会影如何制作图片轮播的视频效果
  3. Deformable ConvNets v2 Pytorch版源码讲解_2
  4. Figma如何导出jpg格式?
  5. 1526:宗教信仰——简单并查集
  6. CDH大数据平台搭建之FLUME安装
  7. C#Winfrom和PYTHON接入腾讯云OCR
  8. Android Butterknife(黄油刀) 使用方法总结
  9. python抢票代码_五一要来了,教你用Python动刷新抢12306火车票,附源码
  10. Beta函数/Gamma函数/二项分布概率分布