Matplotlib绘图库入门(一):pyplot绘图基础
Matplotlib 是公认的在python中最好的图像绘制库,Matplotlib 的功能非常的强大,主流的图表格式在Matplotlib 都能够找到,Matplotlib 是一个开源的,官方网站在:https://matplotlib.org/
下,也有着非常完善的代码例子:https://matplotlib.org/gallery/index.html
。Matplotlib
整个体系看起来也非常的严谨,可方便的进行学习和查找。
安装Matplotlib
windows下安装Matplotlib 可以在 https://github.com/matplotlib/matplotlib/downloads
进行下载安装,Matplotlib
安装之前先确保 Numpy
已经存在。 当然所有的平台下可以使用pip
进行安装。
pip install matplotlib
也推荐使用pip
进行安装,他会帮助下载一些需要的依赖项, matplotlib
比较大,需要下载一定的时间。
matplotlib.pyplot
是 matplotlib
中一个重要的绘图库,里面包含着大部分的绘图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']
>>>
对图表进行说明:
title
, xlabel
, ylabel
分别 说明标题,x轴说明,y轴说明。
text()
可以在图中的任意位置添加文字,并支持LaTex语法。
annotate
推特征数据进行说明,用 一个箭头引出,并用文字进行说明。因此需要两个坐标,箭头位置和文字位置。
需要注意的是,如果出现了中文乱码的话,需要进行相应的设置:
#显示中文配置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False
对坐标进行控制:
xlim
,ylim
分别进行对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绘图基础相关推荐
- matplotlib绘图库入门
2019独角兽企业重金招聘Python工程师标准>>> matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且 ...
- Matplotlib绘图库入门(三):面积图
在 中有非常多的用法,接下来会慢慢的介绍这些具体的使用,在这里 主要介绍面积图的画法,在数据分析中面积图用的也比较多. 主要的函数有 fill_between : import matplotlib. ...
- 使用matplotlib绘图库的pyplot快速绘图
使用matplotlib绘图库的pyplot快速绘图 matplotlib是Python最常用的绘图库,在结果或数据可视化中常用pyplot实现快速绘图,下面参考张若愚主编的Python科学计算(第2 ...
- Matplotlib绘图库初探
Matplotlib是Python的2D&3D绘图库,产生各种已经拷贝格式和交互幻剑中跨平台形式的印刷质量图标.Matplot语法与Matlab相似,绘图绘图功能强大,而且十分容易上手. &q ...
- linux实时绘图库,matplotlib绘图库之Artist对象详解
Matplotlib是一个面向对象的绘图库,在最终图像上所呈现出来的所有元素,都是一个可以控制的对象,那么如何理解绘图的过程呢?可以简单地类比在画布上画图的过程, 首先大致的绘制流程: 创建Figur ...
- Matplotlib绘图库基本操作
Matplotlib是一种2D的绘图库 它可以支持硬拷贝和跨系统的交互,它可以在Python脚本.IPython的交互环境下.Web应用程序中使用.该项目是由John Hunter于2002年启动的, ...
- python安装matplotlib绘图库
学习目录 一.简介 二.应用 三.安装 一.简介 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式.Matplotlib可以用来绘制各种静态 ...
- Python 第三方模块之 matplotlib - 绘图库
简介 matplotlib是受MATLAB的启发构建的.MATLAB是数据绘图领域广泛使用的语言和工具.MATLAB语言是面向过程的.利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然 ...
- matplotlib绘图库
Python Matplotlib教程_小熊coder的博客-CSDN博客_matplotlib 程序https://blog.csdn.net/qq_41854911/article/details ...
最新文章
- linux+软盘启动程序,软盘上的Linux系统方案
- Hive集成HBase详解
- mysql循环队列_数据结构:循环队列
- 一位头发发白的神人教你怎么写程序,运维,买电脑,写文章,平面设计!
- JDK 13:VM.events已添加到jcmd
- 关于TCP/IP与数据传输
- 云计算的概念_云计算概念掀起涨停潮 美利云奠定板块龙头地位
- 从字符串数组中寻找数字的元素
- Oracle中一般游标与REF游标的区别
- tomcat部署多个项目,通过域名解析访问,不同的网站
- 深度学习笔记(35) 滑动窗口的卷积实现
- 独立站现在好不好做?个人适合做跨境电商独立站吗?
- uva 11021 Tribles
- Maven CXF wsdl2Java ListXxx生成ArrayOfXxx包装对象 解决方法
- 记tcp网络编程中遇到的readline()方法
- python糖尿病数据挖掘
- 互联网晚报 | 7月16日 星期六 |抖音回应“外卖功能上线”;上半年国内生产总值同比增长2.5%;雷军8月将携小米工程样车亮相...
- 计算机硬盘按数据传输,同时让多个硬盘轻松同步数据传输
- 一款兼容Arduino的模拟TDS传感器
- 《形式感+——网页视觉设计创意拓展与快速表现》
热门文章
- 【BZOJ1645】[Usaco2007 Open]City Horizon 城市地平线 离散化+线段树
- 计算机系统中软件的分类及各自的定义,计算机软件的定义和分类
- 安卓识别exfat_如何使安卓手机能够读写移动硬盘?
- 规则在自然语言处理领域的重要地位
- 速算24点(C++)
- android的手机壳,神奇手机壳 苹果安卓能共存了!
- C#,骑士游历问题(Knight‘s Tour Problem)的恩斯多夫(Warnsdorff‘s Algorithm)算法与源代码
- asp.net 实现word在线阅读
- Linux:Nginx 正向代理实现内网访问互联网
- Flutter路由处理routes技巧