这篇文章主要介绍了Python数据可视化常用4大绘图库原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

今天我们就用一篇文章,带大家梳理matplotlib、seaborn、plotly、pyecharts的绘图原理,让大家学起来不再那么费劲!

1. matplotlib绘图原理

关于matplotlib更详细的绘图说明,大家可以参考下面这篇文章,相信你看了以后一定学得会。

matplotlib绘图原理:http://suo.im/678FCo

1)绘图原理说明

通过我自己的学习和理解,我将matplotlib绘图原理高度总结为如下几步:

导库;创建figure画布对象;获取对应位置的axes坐标系对象;调用axes对象,进行对应位置的图形绘制;显示图形;

2)案例说明


# 1.导入相关库
import matplotlib as mpl
import matplotlib.pyplot as plt
# 2.创建figure画布对象
figure = ()
# 3.获取对应位置的axes坐标系对象
axes1 = (2,1,1)
axes2 = (2,1,2)
# 4.调用axes对象,进行对应位置的图形绘制
([1,3,5,7],[4,9,6,8])
([1,2,4,5],[8,4,6,2])
# 5.显示图形
()

结果如下:

2. seaborn绘图原理

在这四个绘图库里面,只有matplotlib和seaborn存在一定的联系,其余绘图库之间都没有任何联系,就连绘图原理也都是不一样的。

seaborn是matplotlib的更高级的封装。因此学习seaborn之前,首先要知道matplotlib的绘图原理。由于seaborn是matplotlib的更高级的封装,对于matplotlib的那些调优参数设置,也都可以在使用seaborn绘制图形之后使用。

我们知道,使用matplotlib绘图,需要调节大量的绘图参数,需要记忆的东西很多。而seaborn基于matplotlib做了更高级的封装,使得绘图更加容易,它不需要了解大量的底层参数,就可以绘制出很多比较精致的图形。不仅如此,seaborn还兼容numpy、pandas数据结构,在组织数据上起了很大作用,从而更大程度上的帮助我们完成数据可视化。

由于seaborn的绘图原理,和matplotlib的绘图原理一致,这里也就不详细介绍了,大家可以参考上面matplotlib的绘图原理,来学习seaborn究竟如何绘图,这里还是提供一个网址给大家。

seaborn绘图原理:http://suo.im/5D3VPX

1)案例说明


# 1.导入相关库
import seaborn as sns
import matplotlib.pyplot as pltdf = pd.read_excel("",sheet_name="数据源")("dark")
[""] = ["SimHei"]
[""] = False
# 注意:estimator表示对分组后的销售数量求和。默认是求均值。
(x="品牌",y="销售数量",data=df,color="steelblue",orient="v",estimator=sum)
()

结果如下:

注意:可以看到在上述的绘图代码中,你应该有这样一个感受,图中既有matplotlib的绘图代码,也有seaborn的绘图代码。其实就是这样的,我们就是按照matplobt的绘图原理进行图形绘制,只是有些地方改成seaborn特有的代码即可,剩下的调整格式,都可以使用matplotlib中的方法进行调整

3. plotly绘图原理

首先在介绍这个图的绘图原理之前,我们先简单介绍一下plotly这个绘图库。

  • plotly是一个基于javascript的绘图库,plotly绘图种类丰富,效果美观;
  • 易于保存与分享plotly的绘图结果,并且可以与Web无缝集成;
  • ploty默认的绘图结果,是一个HTML网页文件,通过浏览器可以直接查看;

它的绘图原理和matplotlib、seaborn没有任何关系,你需要单独去学习它。同样我还是提供了一个网址给你,让你更详细的学习plotly。

plotly绘图原理:http://suo.im/5vxNTu

1)绘图原理说明

通过我自己的学习和理解,我将plotly绘图原理高度总结为如下几步:

  • 绘制图形轨迹,在ployly里面叫做trace,每一个轨迹是一个trace。
  • 将轨迹包裹成一个列表,形成一个“轨迹列表”。一个轨迹放在一个列表中,多个轨迹也是放在一个列表中。
  • 创建画布的同时,并将上述的轨迹列表,传入到Figure()中。
  • 使用Layout()添加其他的绘图参数,完善图形。
  • 展示图形。

2)案例说明


import numpy as np
import pandas as pd
import plotly as py
import plotly.graph_objs as go
import plotly.expression as px
from plotly import toolsdf = pd.read_excel("")
# 1.绘制图形轨迹,在ployly里面叫做`trace`,每一个轨迹是一个trace。
trace0 = (x=df["年份"],y=df["城镇居民"],name="城镇居民")
trace1 = (x=df["年份"],y=df["农村居民"],name="农村居民")
# 2.将轨迹包裹成一个列表,形成一个“轨迹列表”。一个轨迹放在一个列表中,多个轨迹也是放在一个列表中。
data = [trace0,trace1]
# 3.创建画布的同时,并将上述的`轨迹列表`,传入到`Figure()`中。
fig = (data)
# 4.使用`Layout()`添加其他的绘图参数,完善图形。
(,xaxis_title="年份",yaxis_title="人均收入(元)"
)
# 5.展示图形。
()

结果如下:

4. pyecharts绘图原理

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

pyecharts分为和v1两个大版本,和v1两个版本不兼容,v1是一个全新的版本,因此我们的学习尽量都是基于v1版本进行操作。

和plotly一样,pyecharts的绘图原理也是完全不同于matplotlib和seaborn,我们需要额外的去学习它们的绘图原理,基于此,同样提供一个网址给你,让你更详细的学习pyecharts。

pyecharts的绘图原理:http://suo.im/5S1PF1

1)绘图原理说明

通过我自己的学习和理解,我将plotly绘图原理高度总结为如下几步:

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

2)案例说明


# 1.选择图表类型:我们使用的是线图,就直接从charts模块中导入Line这个模块;
from pyecharts.charts import Line
import pyecharts.options as opts
import numpy as npx = np.linspace(0,2 * )
y = (x)(# 2.我们绘制的是Line线图,就需要实例化这个图形类,直接Line()即可;Line()# 3.添加数据,分别给x,y轴添加数据;.add_xaxis(xaxis_data=x).add_yaxis(series_name="绘制线图",y_axis=y,label_opts=(is_show=False)).set_global_opts(title_opts=(title="我是标题",subtitle="我是副标题",title_link=""),tooltip_opts=())
).render_notebook() # ()用于显示及保存图表;

结果如下:

小结

通过上面的学习,我相信肯定会让大家对于这些库的绘图原理,一定会有一个新的认识。

其实其实不管是任何编程软件的绘图库,都有它的绘图原理。我们与其盲目的去绘制各种各样的图形,不如先搞清楚它们的套路后,再去进行绘图库的图形练习,这样下去,我觉得大家会有一个很大的提高。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

ant如何形成时间轴和图库_Python数据可视化常用4大绘图库原理详解_python相关推荐

  1. 大数据可视化python_5种Python绘图库,轻松实现大数据可视化!

    读图时代,图片不够精美绚丽,怎能够吸引住越来越挑剔的眼睛.而拥有"盛世美颜"的图片是怎样炼造而成的呢?大圣众包(www.dashengzb.cn)小编介绍5款交互式图表Python ...

  2. python使用kafka原理详解_Python操作Kafka原理及使用详解

    Python操作Kafka原理及使用详解 一.什么是Kafka Kafka是一个分布式流处理系统,流处理系统使它可以像消息队列一样publish或者subscribe消息,分布式提供了容错性,并发处理 ...

  3. python代码覆盖率测试_unittest+coverage单元测试代码覆盖操作实例详解_python

    这篇文章主要为大家详细介绍了unittest+coverage单元测试代码覆盖操作的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 基于上一篇文章,这篇文章是关于使用coverage来实现代码 ...

  4. 适应各种工控组态软件的图库,一款常用的工控图库,包括3D按钮 、箭头、对角线、多边形、鼓风机、锅炉、工厂等多种图形

    适应各种工控组态软件的图库,一款常用的工控图库,包括3D按钮 .箭头.对角线.多边形.鼓风机.锅炉.工厂等多种图形,有四千个图形,涵盖了所有行业的工控图形,种类丰富,可以满足您日常工控设计需求,支持e ...

  5. python线程池原理_Python定时器线程池原理详解

    这篇文章主要介绍了Python定时器线程池原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 定时器执行循环任务: 知识储备 Timer(int ...

  6. 时间堆原理详解及C++11的实现

    一.背景 网络编程中除了处理IO事件之外,定时事件也同样不可或缺,如定期检测一个客户连接的活动状态.游戏中的技能冷却倒计时以及其他需要使用超时机制的功能.我们的服务器程序中往往需要处理众多的定时事件, ...

  7. HIVE面试题原理详解 统计用户连续交易的总额、连续登陆天数、连续登陆开始和结束时间、间隔天数

    HIVE面试题原理详解 统计用户连续交易的总额.连续登陆天数.连续登陆开始和结束时间.间隔天数 友情提示 创建数据表 添加数据 流程图 第一步分析(子表a) 第二步分析(子表b) 第三步分析(子表c) ...

  8. python贪婪匹配_python re模块匹配贪婪和非贪婪模式详解

    python re模块匹配贪婪和非贪婪模式详解 这篇文章主要介绍了python re模块匹配贪婪和非贪婪模式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友 ...

  9. OpenCV视频写入详解_Python,视频保存0kb问题

    我真的是栓q,搞了两晚,保存的视频一直是0kb,什么方式都用了.直到看到下面这个大佬的解释才明白,可能是我电脑视频编码不太对.本来就是想学习一下,跟着老师做一直不对. 将cv2 VideoWriter ...

最新文章

  1. 跟着柴毛毛学Spring(3)——简化Bean的配置
  2. php未知参数,php – 使用未知数量的参数创建Laravel Eloquent Query
  3. Qt QPushButton圆形图片设置为背景
  4. 【.Net】C# 将Access中时间段条件查询的数据添加到ListView中
  5. 实际返回的行数超出请求的行数怎么解决_count(*)这么慢,我该怎么办?
  6. Laravel 发送邮件报错的解决方案:PHP Warning: stream_socket_enable_crypto(): SSL operation failed with code 1.
  7. 解决java compiler level does not match the version of the inst
  8. oracle中特殊字符处理
  9. oracle的jdbc语句,Java Oracle jdbc SELECT语句
  10. 如何更改 Safari 浏览器文件下载位置?
  11. 花粉俱乐部服务器维护,花粉俱乐部打不开进不去怎么回事?花粉俱乐部加载数据失败怎么解决?...
  12. 【电力负荷预测】基于matlab粒子群算法优化支持向量机预测电力负荷【含Matlab源码 1225期】
  13. WCF分布式安全开发实践(10):消息安全模式之自定义用户名密码:Message_UserNamePassword_WSHttpBinding...
  14. 噪声和振动分析软件,它代表了统计能量分析(SEA)领域的最高水平AutoSEA2 V2.8
  15. ENVI中对图像监督分类结果的编辑
  16. smtp中mailfrom是必须的吗_人脸识别在建筑工地实名制系统中扮演着什么样的角色,是必须的吗?...
  17. python flask 路由_Python之Flask 路由与模板语法
  18. PMP知识点:工作绩效数据、信息和报告的区别
  19. win7 、2008 提示Error 1606 Could Not Access Network Location %SystemDrive%/inetpub/wwwroot/ 的错误解决方法
  20. 2021佛山高考成绩查询,2021佛山市地区高考成绩排名查询,佛山市高考各高中成绩喜报榜单...

热门文章

  1. QT判断多级目录是否存在,不存在就创建
  2. solr查询工作原理深入内幕
  3. How Do Annotations Work in Java?--转
  4. extremeComponents(ec)源码分析
  5. Linux服务器集群系统(四)--转
  6. https://github.com/fendouai/Awesome-Chatbot
  7. 蚂蚁金服张洁:基于深度学习的支付宝人脸识别技术解秘-1
  8. 高德地图横屏不显示服务器,高德地图不能横屏!
  9. Redis进阶-分布式存储 Sequential partitioning Hash partitioning
  10. Redis进阶-bind参数详解