超详细!pyecharts的绘图原理详解

1.pyecharts简介

Echarts是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,获得了众多开发者的承认。而python是一门富有表达力的语言,很适合用于数据处理。当数据分析赶上了数据可视化时,pyecharts诞生了。html

pyecharts分为v0.5v1两个大版本,v0.5和v1两个版本不兼容,v1是一个全新的版本,所以咱们的学习尽可能都是基于v1版本进行操做。学习任何编程语言,其实官网是最好的老师,下面咱们列出了echarts和pyecharts的官网,比较幸运的是,pyecharts是由一个中国人开发的,也存在一个中文网站,这样学习起来就方便多了。python

echarts官网:https://www.echartsjs.com/index.html编程

pyecharts官网:https://pyecharts.org/#/zh-cn/intro浏览器

安装:pip install pyechartsecharts

查看版本:print(pyecharts.version)编程语言

2.pyecharts绘图逻辑

1)pyecharts绘图逻辑说明

pyecharts是一个全新的可视化绘图工具,所以它的绘图逻辑彻底不一样于前面说到的matplotlib、seaborn、plotly函数

所以你想要学好这个可视化工具,最主要的就是要学会它的绘图逻辑,俗话说:“知己知彼,百战不殆”,你只有了解别人 ,才能够用起来顺手呀。工具

pyecharts的绘图逻辑分为如下几步。学习

  • ① 选择图表类型;
  • ② 声明图形类并添加数据;
  • ③ 选择全局变量;
  • ④ 显示及保存图表;

第一步是选择图表类型,基于本身的数据特色,咱们看看本身想要绘制那种图形,须要什么图形就导入什么图形,下面我简单列举了几个导入方法。网站

from pyecharts.charts import Scatter  # 导入散点图  
from pyecharts.charts import Line     # 导入折线图  
from pyecharts.charts import Pie      # 导入饼图  
from pyecharts.charts import Geo      # 导入地图

第二步是声明图形类并添加数据,什么是图形类呢?其实每个图形库都是被pyecharts做者封装成为了一个,这就是所谓的面向对象,咱们在使用这个类的时候,须要实例化这个类(观察下面代码)。

声明类以后,至关于初始化了一个画布,咱们以后的绘图就是在这个画布上进行。接下来要作的就是添加数据,pyecharts中添加数据共有2种方式,一种是普通方式添加数据,一种是链式调用(观察下面代码)来添加数据,后面我会分章节一个个为你们介绍。

"下面绘制的是:正弦曲线的散点图"  
# 1.选择图表类型:咱们使用的是散点图,就直接从charts模块中导入Scatter这个图形。  
from pyecharts.charts import Scatter  
import numpy as np  
  
x = np.linspace(0,2 * np.pi,100)  
y = np.sin(x)  
  
(  
 # 注意:使用什么图形,就要实例化该图形的类;  
 # 2.咱们绘制的是Scatter散点图,就须要实例化散点图类,直接Scatter() 便可;  
 Scatter()   
 # 实例化类后,接着就是添加数据,下面这种方式就是使用“链式调用”的方式绘图;  
 # 注意:散点图有X、Y轴,所以须要分别给X轴、Y轴添加数据;  
 # 3.咱们先给X轴添加数据;  
 .add_xaxis(xaxis_data=x)  
 # 4.咱们再给Y轴添加数据;  
 .add_yaxis(series_name="这个图是干吗的",y_axis=y)  
).render_notebook()

第三步就是设置全局变量,用通俗的话说就是:调节各类各样的参数,把图形变得更好看。

经常使用的有标题配置项图例配置项工具配置项视觉映射配置项提示框配置项区域缩放配置项

你也许不知道这几个名词是什么意思,可是不用担忧,你首先是学会了如何使用pyecharts绘图后,再慢慢学习这方面的内容。

  • 默认状况下图例配置项和提示框配置项是显示的,其它四个配置项默认状况下是不显示的,须要咱们本身设置;

第四步是显示及保存图表,咱们这里介绍两种最经常使用的保存方式,以下所示。

.render("C:\\Users\\黄伟\\Desktop\\CSDN上传图像\\a.html")  
# 若是不指定路径,就是直接保存在当前工做环境目录下;  
# 若是指定了路径,就是保存到指定的目录下;  
# 注意:最终都是以html格式展现,发给其余任何人均可以直接打开看的;  
  
.render_notebook()  
# 若是咱们使用的是jupyter notebook,直接使用这行代码,能够直接显示图片;

3.选择图表类型

下面列举出现的全部图形都在charts字模块下,咱们利用以下代码就能够导入各自对应的图形,在上面的叙述中,我已经列举了部分图形的导入方式。

  • from pyecharts.charts import 函数名

注意:这里咱们只列出了部分图形,包括咱们后面绘制地图,也都是在pyecharts的子模块charts模块下,咱们要记住这句导入相关图形库的代码。

4.数据添加

1)如何添加数据呢?

像散点图、折线图等二维数据图形,它既有X轴,又有Y轴,因此咱们不只要为X轴添加数据,还要为Y轴添加数据。

  • .add_xaxis(xaxis_data=x)为X轴添加数据;
  • .add_yaxis(series_name='', y_axis=y)为Y轴添加数据;

像饼图、地图这样没有X轴、Y轴区分的图形,咱们直接使用add()方法添加便可。

  • .add(series_name='', data_pair=[(i,j)for i,j in zip(lab,num)]);

2)pyecharts绘图的两种方式

上面咱们已经说过,pyecharts中绘图有2种方式。第一种方式:普通方式;第二种方式:链式调用。仔细观察下面的演示代码,看看区别在哪里。

① 链式调用的方式绘图
from pyecharts.charts import Line  
import pyecharts.options as opts  
import numpy as np  
  
x = np.linspace(0,2 * np.pi,100)  
y = np.sin(x)  
  
(Line(init_opts=opts.InitOpts(width="700px",height="300px"))  
 .add_xaxis(xaxis_data=x)  
 .add_yaxis(series_name="绘制线图",y_axis=y,label_opts=opts.LabelOpts(is_show=False))  
 .set_global_opts(title_opts=opts.TitleOpts(title="我是标题",subtitle="我是副标题",title_link="https://www.baidu.com/"),  
                  tooltip_opts=opts.TooltipOpts(axis_pointer_type="cross"))  
).render_notebook()  
  
"""  
关于全局配置项的代码部分,你可能不懂,如今不懂没什么关系!  
"""

结果以下:

② 普通方式绘图
from pyecharts.charts import Pie  
import pyecharts.options as opts  
  
num = [110, 136, 108, 48, 111, 112, 103]  
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']  
x = [(i, j)for i, j in zip(lab, num)]  
print(x)  
  
pie = Pie(init_opts=opts.InitOpts(width="700px",height="300px"))  
pie.add(series_name='',data_pair=[(i, j)for i, j in zip(lab, num)])  
pie.render_notebook()

结果以下:

3)关于series_name=""的说明

在添加数据时候,咱们能够注意到series_name参数的存在,它是一个字符串。你也看到了,咱们能够传递一个空字符串,也能够传递指定字符串,最终的做用有点相似于图例的效果,但这里并非设置图例。

你不须要过多的注意这个参数,只须要牢记一点:这个参数必须有,必须写,哪怕你传递一个空字符串,也要写,由于不写这个参数,会报错。

5.设置全局配置项

当咱们学会了如何使用pyecharts绘图,而且已经绘制出来了某个图形,此时这个图形并不必定好看。这就须要咱们学会使用全局配置项,进行图形参数的调节与设置。

全部的全局配置项的使用,都是在options这个子模块下,咱们在设置全局配置项的时候,记得导入这个模块。这部分涉及到的参数太多太杂,当你以为某个图形须要怎么改的时候,通常确定是有对应的参数进行处理的,你要相信你能想到的,别人大神确定是都想到了,这个时候你就须要学会使用官网,官网很重要!官网很重要!官网很重要!

  • import pyecharts.options as opts
  • 使用options配置项,在 pyecharts中,一切皆Options。
  • 全局配置项可经过调用set_global_options()方法进行设置。

注意:默认状况下图例配置项和提示框配置项是显示的,其余四个配置项默认状况下是不显示的,须要咱们本身设置。

6.显示及保存图表

  • .render()默认将会在当前工做目录下生成一个 render.html 的文件,支持path参数,进行自定义文件保存位置,最终文件你能够能够发送给任何人,直接用浏览器打开,交互效果仍然存在。
  • Jupyter Notebook中直接调用.render_notebook()随时随地渲染图表。

有段时间没跟你们分享资源福利了,看了下本身的资料夹,整理了一些我认为比较好的Python学习资料了。相信这套资料能够对你进阶高级工程师有帮助

学习工具

大厂实战手册

自学视频(部分)

【资料免费领取方式】:点这里:2020Python高薪实战学习大合集

相关文章
相关标签/搜索