Matplotlib 是公认的在python中最好的图像绘制库,Matplotlib 的功能非常的强大,主流的图表格式在Matplotlib 都能够找到,Matplotlib 是一个开源的,官方网站在:https://matplotlib.org/ 下,也有着非常完善的代码例子:https://matplotlib.org/gallery/index.htmlMatplotlib 整个体系看起来也非常的严谨,可方便的进行学习和查找。

安装Matplotlib

windows下安装Matplotlib 可以在 https://github.com/matplotlib/matplotlib/downloads 进行下载安装,Matplotlib 安装之前先确保 Numpy 已经存在。 当然所有的平台下可以使用pip进行安装。

pip install matplotlib

也推荐使用pip 进行安装,他会帮助下载一些需要的依赖项, matplotlib 比较大,需要下载一定的时间。

matplotlib.pyplotmatplotlib 中一个重要的绘图库,里面包含着大部分的绘图api。

从plot开始了解绘图相关项

在基础绘图中,最常见的是线条的绘制,先看看最简单的线条:

import matplotlib.pyplot as plt
y = [3,7,5,8]
plt.plot(y)
plt.show()

显示的图形是如下:

这是简单的线条图形,这里有两个需要解释的是,plot 函数的参数中,没有给出x坐标,就默认为从0开始,步长为1,长度跟y的长度一致。第二个是plot 应该是画点的,为何画出来的是直线?在plot 参数缺少的情况下,默认的参数是’b-',亦即蓝色的直线。如下是常见的线条格式配置:

线条颜色

常见的颜色表格,可以快速的进行查询:

标示 颜色
b 蓝色
r 红色
c 青色
g 绿色
m 洋红色
y 黄色
k 黑色
w 白色

下面是个更多的颜色:

https://matplotlib.org/examples/color/named_colors.html

线条样式

常见的线条样式:

标示 描述
‘-’ 实线
‘–’ 破折线
‘-.’ 点划线
‘:’ 虚线
‘o’ 圆圈
‘+’ 加号

更多的标示可以参看官方网站:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot

清楚了这些参数以后画器自己想要的线条就容易得多了:

import matplotlib.pyplot as pltx = [x for x in range(1,5)]
y = [3,7,5,8]
plt.plot(x,y,'r--')
plt.show()

红色的破折线:

plot 相关的参数项可以参考官方的说明:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot

对图表的相关控制和说明

对坐标和图像的控制,matplotlib.pyplot 也有非常多的选项,这里列举一下几个比较常用:

设置图表样式

对图表样式多样化的支持也是 matplotlib 的一大特色,轻松的使用已经设计好的样式,很容易就能够美化所绘制的图表。

获取系统支持所有的自带样式:

>>> print plt.style.available
[u'seaborn-darkgrid', u'Solarize_Light2', u'seaborn-notebook', u'classic', u'seaborn-ticks', u'grayscale', u'bmh', u'seaborn-talk', u'dark_background', u'ggplot', u'fivethirtyeight', u'_classic_test', u'seaborn-colorblind', u'seaborn-deep', u'seaborn-whitegrid', u'seaborn-bright', u'seaborn-poster', u'seaborn-muted', u'seaborn-paper', u'seaborn-white', u'fast', u'seaborn-pastel', u'seaborn-dark', u'seaborn', u'seaborn-dark-palette']
>>>

对图表进行说明

titlexlabelylabel 分别 说明标题,x轴说明,y轴说明。

text() 可以在图中的任意位置添加文字,并支持LaTex语法。

annotate 推特征数据进行说明,用 一个箭头引出,并用文字进行说明。因此需要两个坐标,箭头位置和文字位置。

需要注意的是,如果出现了中文乱码的话,需要进行相应的设置:

#显示中文配置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False

对坐标进行控制

xlimylim 分别进行对x轴和y轴坐标进行控制,把图表显示在相应的位置上。

xticks , yticks :有的时候需要特殊化坐标,提高坐标的可读性。

使用上述的配置对图片进行控制:

import matplotlib.pyplot as plt#显示中文配置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=Falseplt.style.use("ggplot")plt.title(u"阿猫学编程 - 线条配置")x = [x for x in range(2,10,2)]
y = [3,7,5,8]plt.xlim(0,10)
plt.ylim(0,10)
plt.text(8.5, 8, r'y=f(x)')plt.plot(x,y,'r--',label=u"销售额")plt.legend(loc='upper left')plt.plot(4,7,'ro')
plt.annotate(u"销售额", xy=(4, 7), xytext=(5, 8),arrowprops=dict(facecolor='black', shrink=0.05),)plt.xlabel(u'x轴')
plt.ylabel(u'y轴')
plt.show()

得到如下的图片:

如果出现了 KeyError: u'axes.uni_minus is not a valid rc parameter. See rcParams.keys() for a list of valid parameters.'的错误,可以注解掉:

#plt.rcParams['axes.unicode_minus']=False

Matplotlib绘图库入门(一):pyplot绘图基础相关推荐

  1. matplotlib绘图库入门

    2019独角兽企业重金招聘Python工程师标准>>> matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且 ...

  2. Matplotlib绘图库入门(三):面积图

    在 中有非常多的用法,接下来会慢慢的介绍这些具体的使用,在这里 主要介绍面积图的画法,在数据分析中面积图用的也比较多. 主要的函数有 fill_between : import matplotlib. ...

  3. 使用matplotlib绘图库的pyplot快速绘图

    使用matplotlib绘图库的pyplot快速绘图 matplotlib是Python最常用的绘图库,在结果或数据可视化中常用pyplot实现快速绘图,下面参考张若愚主编的Python科学计算(第2 ...

  4. Matplotlib绘图库初探

    Matplotlib是Python的2D&3D绘图库,产生各种已经拷贝格式和交互幻剑中跨平台形式的印刷质量图标.Matplot语法与Matlab相似,绘图绘图功能强大,而且十分容易上手. &q ...

  5. linux实时绘图库,matplotlib绘图库之Artist对象详解

    Matplotlib是一个面向对象的绘图库,在最终图像上所呈现出来的所有元素,都是一个可以控制的对象,那么如何理解绘图的过程呢?可以简单地类比在画布上画图的过程, 首先大致的绘制流程: 创建Figur ...

  6. Matplotlib绘图库基本操作

    Matplotlib是一种2D的绘图库 它可以支持硬拷贝和跨系统的交互,它可以在Python脚本.IPython的交互环境下.Web应用程序中使用.该项目是由John Hunter于2002年启动的, ...

  7. python安装matplotlib绘图库

    学习目录 一.简介 二.应用 三.安装 一.简介 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式.Matplotlib可以用来绘制各种静态 ...

  8. Python 第三方模块之 matplotlib - 绘图库

    简介 matplotlib是受MATLAB的启发构建的.MATLAB是数据绘图领域广泛使用的语言和工具.MATLAB语言是面向过程的.利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然 ...

  9. matplotlib绘图库

    Python Matplotlib教程_小熊coder的博客-CSDN博客_matplotlib 程序https://blog.csdn.net/qq_41854911/article/details ...

最新文章

  1. linux+软盘启动程序,软盘上的Linux系统方案
  2. Hive集成HBase详解
  3. mysql循环队列_数据结构:循环队列
  4. 一位头发发白的神人教你怎么写程序,运维,买电脑,写文章,平面设计!
  5. JDK 13:VM.events已添加到jcmd
  6. 关于TCP/IP与数据传输
  7. 云计算的概念_云计算概念掀起涨停潮 美利云奠定板块龙头地位
  8. 从字符串数组中寻找数字的元素
  9. Oracle中一般游标与REF游标的区别
  10. tomcat部署多个项目,通过域名解析访问,不同的网站
  11. 深度学习笔记(35) 滑动窗口的卷积实现
  12. 独立站现在好不好做?个人适合做跨境电商独立站吗?
  13. uva 11021 Tribles
  14. Maven CXF wsdl2Java ListXxx生成ArrayOfXxx包装对象 解决方法
  15. 记tcp网络编程中遇到的readline()方法
  16. python糖尿病数据挖掘
  17. 互联网晚报 | 7月16日 星期六 |抖音回应“外卖功能上线”;上半年国内生产总值同比增长2.5%;雷军8月将携小米工程样车亮相...
  18. 计算机硬盘按数据传输,同时让多个硬盘轻松同步数据传输
  19. 一款兼容Arduino的模拟TDS传感器
  20. 《形式感+——网页视觉设计创意拓展与快速表现》

热门文章

  1. 【BZOJ1645】[Usaco2007 Open]City Horizon 城市地平线 离散化+线段树
  2. 计算机系统中软件的分类及各自的定义,计算机软件的定义和分类
  3. 安卓识别exfat_如何使安卓手机能够读写移动硬盘?
  4. 规则在自然语言处理领域的重要地位
  5. 速算24点(C++)
  6. android的手机壳,神奇手机壳 苹果安卓能共存了!
  7. C#,骑士游历问题(Knight‘s Tour Problem)的恩斯多夫(Warnsdorff‘s Algorithm)算法与源代码
  8. asp.net 实现word在线阅读
  9. Linux:Nginx 正向代理实现内网访问互联网
  10. Flutter路由处理routes技巧