![9b56d5d9bd53a0634ecd48cc0c3490fb.png](https://i-blog.csdnimg.cn/blog_migrate/6a8f75664d4fe666c9e0112a23850d99.jpeg)
OLDER BROTHER
大家好,我是你们的机房老哥!
计算机绘图是老哥很早就关注的领域,在老哥的设计师朋友们的强烈要求下,打算出几期可视化专题,详细讲讲python绘图那些事。
python可以绘制什么样的图呢?
桑基图
![8dbf10f65f393e6323bcf36e834f9da3.png](https://i-blog.csdnimg.cn/blog_migrate/8a635d17a5582b167fc9ab22dbf75c5d.jpeg)
网络图
![915882618a06e6cea4ea72d80fbdd1a7.png](https://i-blog.csdnimg.cn/blog_migrate/2872ea651197a9175ed4902fa88ccb2b.jpeg)
日光图
![10fc0d41958b81dd9d5b07ab7af37ede.png](https://i-blog.csdnimg.cn/blog_migrate/a92446644f91c5ffeb023465ccf4746e.png)
地理可视化
![0c28108ab42bf8d22834415473368692.png](https://i-blog.csdnimg.cn/blog_migrate/24a301740e454e6b448eeaa95b31248b.jpeg)
雷达图
![3249cee4b0442ca15fdb77bdc5cf632a.png](https://i-blog.csdnimg.cn/blog_migrate/49ea7b86167a4d61f11945b78214cad6.jpeg)
饼状图
![710c60405a4ca390db6db830f161aca2.png](https://i-blog.csdnimg.cn/blog_migrate/364df1523a5f8bc2d2561ddb2e25077d.jpeg)
折线图
![fdc04242950147bebcf9198158360774.png](https://i-blog.csdnimg.cn/blog_migrate/ecefb4256eac72f501930bc380b47832.png)
python的绘图库很多,底层库matplotlib、封装的高级API库Seaborn、bokeh、地理信息可视化basemap、cartopy等。
今天老哥使用的是基于百度开源数据可视化Echarts的pyecharts库。
![bb2774e1b5b9987a8fdd2e5bb80128c5.png](https://i-blog.csdnimg.cn/blog_migrate/b7348f02799d6913e1bf0a60a3048881.png)
http://pyecharts.org/#/zh-cn/?id=pyecharts
pyecharts的配色好看,图表类型丰富,交互性强,优雅而简洁,相比于matplotlib更易入门。
第一节
快速开始
安装pyecharts
绘制示例图表
安装pyecharts
pip install pyecharts
可以使用清华镜像提高下载速度
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
绘制示例图表
from pyecharts.charts import Barbar = Bar()bar.add_xaxis(["美国折耳猫", "虎斑猫", "绅士猫", "波斯猫", "加菲猫", "老鼠"])bar.add_yaxis("宠物店A", [5, 20, 36, 10, 75, 90])bar.add_yaxis("宠物店B", [10, 25, 36, 10, 60, 20])bar.render()
![5958a4bd5c2d061f3be191b10951c411.png](https://i-blog.csdnimg.cn/blog_migrate/b1547dd7f363b970564aaab29f68e80c.png)
▲柱状图
从pyecharts.charts中调用Bar柱状图。
定义变量bar=Bar()。
bar.add_xaxis()
添加x轴坐标,括号中加入列表。
bar.add_yaxis()
添加y轴坐标,第一个元素是类别,第二个列表是数值。例如我们想对比宠物店A和B的数值,只需写两个bar.add_yaxis()即可。
bar.render()
默认在当前目录生成render.html文件。也可以传入路径参数,如
bar.render("mycharts.html")
这样,我们就绘制出了一个最简单的柱状图了。
第二节
配置全局项
为什么要设置全局项
如何看懂官方文档
标题配置
图例配置
视觉映射配置
提示框配置
坐标轴配置
初始化配置
动画配置项
工具箱配置
为什么要设置全局项
在快速开始中,老哥用6行代码绘制了简单的柱状图。
但是观察可发现,该图没有图例、工具栏、标题。
![06cf0e86e3e57e3d48ded252835c1934.png](https://i-blog.csdnimg.cn/blog_migrate/8e6d3f42d6682c7c41ee1141326dbad4.png)
▲配置全局项
通过配置全局项,可以更好的设置个性化图表,为图表注入你的灵魂。
如何看懂官方文档
![eea9a9f8704759655ffc111f6ba8c0aa.png](https://i-blog.csdnimg.cn/blog_migrate/4b92af73f1251a1a34ff4e28a737d7a4.png)
▲官方指南
本例中,命令继承自LegendOpts类,所以使用opts.LegendOpts()调用。参数配置,以type_举例:
type_: Optional[str] = None,
type_是参数名称,冒号后的Optional[str]代表数据类型,等号后代表传入的默认参数。调用全局配置项代码示例:
from pyecharts.charts import Barfrom pyecharts import options as optsbar = Bar()bar.set_global_opts(legend_opts=opts.LegendOpts(is_show=False)
首先从pyecharts导入options,并缩写为opts。
bar.set_global_opts()
调用全局项函数。
opts.LegendOpts(is_show=False)
设置图例项。
set