matplotlib.pyplot.plot详解
参考资料:
https://blog.csdn.net/baidu_41902768/article/details/80686608
之前的随笔也有说过,matplotlib是python中一个非常常用的用来作图的库,pyplot是其中的一个包,主要是用来作2D图的,涉及的画布,图例,标签等一系列作图常规操作。这篇文章分析的是pyplot这个包下面的一个最常用的函数plot,所以使用的时候我们经常是:
import matplotlib.pyplot as plt
plt.plot()
其中把pyplot简写成plt已经成为一种习惯。因为经常会用到这个函数作图,又看了matplotlib的文档,写的非常好。所以就想学习一下记录在此。参考资料那篇文章其实做的是一样的事情,但是为了自己熟悉一遍还是一步步学习一下。
函数定义:(Plot y versus x as lines and/or markers 说的很清楚很局限,这个函数就是绘制2D图 x versus y的,线图或者点图,别的干不了。)
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
上面的[fmt]其实就是一个字符串,方便你格式化作图。比如'bo'='blue circle',蓝色圆点。'r--'就是红色的短线图。上面的第三行就是一次性同时画两个图时的用法。
>>> plot(x, y) # plot x and y using default line style and color
>>> plot(x, y, 'bo') # plot x and y using blue circle markers
>>> plot(y) # plot y using x as index array 0..N-1
>>> plot(y, 'r+') # ditto, but with red plusses
还可以使用关键字参数,可以和fmt共存,当fmt和关键字冲突时,关键字优先:
>>> plot(x, y, 'go--', linewidth=2, markersize=12)
>>> plot(x, y, color='green', marker='o', linestyle='dashed',
... linewidth=2, markersize=12)
带标签的数据作图:(Plotting labelled data):原文是这样的There's a convenient way for plotting objects with labelled data (i.e. data that can be accessed by index obj['y']
). Instead of giving the data in x and y, you can provide the object in the data parameter and just give the labels for x and y:
plot('xlabel', 'ylabel', data=obj)
带索引的对象可以是dict,pandas.DataFame,structured numpy array.个人理解这个用法的作用就是:当你有一个表格,其中有很多列,每一个列有一个标签。当你想使用其中的两列作图的时候,将表格整体传入,但是只要你指定了标签,这个函数就会帮你把这两列取出来作图。不妨用支持的最简单类型dict做个试验。
>>>A = {'1':[1,2,3,4,5] , '2':[1,2,3,4,5] ,'3':[2,3,4,5,6]}
>>>plt.plot('1','2','r',data=A)
和预想的一样,结果就是取出字典中key为'1'和'2'的两个列表分别为x和y进行作图。
多组数据作图:一共有三种方法
1.最直接,多次调用plot函数:
>>> plot(x1, y1, 'bo')
>>> plot(x2, y2, 'go')
2.如果数据已经是2d array,可以直接传入。例:一个数组,第一列代表x values ,其他多个列代表y values。
>>> plot(a[0], a[1:])
3.明确指定多个数据集:这种情况下关键字参数将用于所有的数据集。
>>> plot(x1, y1, 'g^', x2, y2, 'g-')
Notes:有关作图格式的一些信息。
Format Strings
A format string consists of a part for color, marker and line:
fmt = '[marker][line][color]'
Each of them is optional. If not provided, the value from the style cycle is used. Exception: If line
is given, but no marker
, the data will be a line without markers.
Other combinations such as [color][marker][line]
are also supported, but note that their parsing may be ambiguous.
Markers
character | description |
---|---|
'.' |
point marker |
',' |
pixel marker |
'o' |
circle marker |
'v' |
triangle_down marker |
'^' |
triangle_up marker |
'<' |
triangle_left marker |
'>' |
triangle_right marker |
'1' |
tri_down marker |
'2' |
tri_up marker |
'3' |
tri_left marker |
'4' |
tri_right marker |
's' |
square marker |
'p' |
pentagon marker |
'*' |
star marker |
'h' |
hexagon1 marker |
'H' |
hexagon2 marker |
'+' |
plus marker |
'x' |
x marker |
'D' |
diamond marker |
'd' |
thin_diamond marker |
'|' |
vline marker |
'_' |
hline marker |
Line Styles
character | description |
---|---|
'-' |
solid line style |
'--' |
dashed line style |
'-.' |
dash-dot line style |
':' |
dotted line style |
Example format strings:
'b' # blue markers with default shape
'or' # red circles
'-g' # green solid line
'--' # dashed line with default color
'^k:' # black triangle_up markers connected by a dotted line
The supported color abbreviations are the single letter codes
character | color |
---|---|
'b' |
blue |
'g' |
green |
'r' |
red |
'c' |
cyan |
'm' |
magenta |
'y' |
yellow |
'k' |
black |
'w' |
white |
and the 'CN'
colors that index into the default property cycle.
If the color is the only part of the format string, you can additionally use any matplotlib.colors
spec, e.g. full names ('green'
) or hex strings ('#008000'
).
matplotlib.pyplot.plot详解的更多相关文章
- python matplotlib.pyplot 散点图详解(1)
python matplotlib.pyplot散点图详解(1) 一.创建散点图 可以用scatter函数创建散点图 并使用show函数显示散点图 代码如下: import matplotlib.py ...
- python matplotlib.pyplot 条形图详解
python matplotlib.pyplot 条形图详解 一.创建直方图 可以用bar函数来创建直方图 然后用show函数显示直方图 比如: import matplotlib.pyplot as ...
- python matplotlib.pyplot 散点图详解(2)
python matplotlib.pyplot 散点图详解(2) 上期资料 一.散点图叠加 可以用多个scatter函数叠加散点图 代码如下: import matplotlib.pyplot as ...
- matplotlib.pyplot 绘图详解 matplotlib 安装
apt-get install python-matplotlib 转载自: http://www.cnblogs.com/qianlifeng/archive/2012/02/13/2350086. ...
- matplotlib极坐标方法详解
一.极坐标 在平面内取一个定点O,叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向).对于平面内任何一点M,用ρ表示线段OM的长度(有时也用r表示),θ表示从Ox到 ...
- matplotlib 直方图绘制详解
n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None) 函数说明 用于绘制多个数据集 ...
- python matplotlib.pyplot学习记录
matplotlib是python中很强大的绘图工具,在机器学习中经常用到 首先是导入 import matplotlib.pyplot as plt plt中有很多方法,记录下常用的方法 plt.p ...
- matplotlib作图——plot() 线图
线图 #定义 matplotlib.pyplot.plot() plot([x], y, [fmt], data=None, **kwargs) plot([x], y, [fmt], [x2], y ...
- scikit-learn:matplotlib.pyplot经常使用绘图功能总结(1)
參考:http://matplotlib.org/api/pyplot_api.html 绘图功能总结(2):http://blog.csdn.net/mmc2015/article/details/ ...
随机推荐
- Java——日期格式化YYYYMMdd与yyyyMMdd的区别
public static void main(String[] args) { //YYYY 是表示:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年. //20 ...
- IIS 报 :HTTP Error 503. The service is unavailable.
打开IIS 找到你对应的网站名称然后你会发现应用池停止了 点击你对应的网站右键点击启动既可
- 特效 css3 持续动作的渐变背景
html,body{ margin:; padding:; height: 100%; width: 100%; background: linear-gradient(125deg,#2c3e50, ...
- ubuntu18.04.4安装k8s
k8s部署 1.集群所有主机关闭swap sudo swapoff -a sudo sed -i 's/.*swap.*/#&/' /etc/fstab 如果重启后swap还是自动挂载执行sy ...
- Longest Mountain in Array 数组中的最长山脉
我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”: B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] < B[1] ...
- meavn项目由打包方式jar改为war报Cannot install Dynamic Web Module 2.5 facet. It is incompatibile with already installed facets: Utility Module. Please modify project configuration.处理方式
找到 \项目名\.setting\文件夹下的 org.eclipse.wst.common.project.facet.core.xml xml文件. 添加或修改 <installed ...
- cordova开发插件,并在android studio中开发、调试
之前用过cordova Lib包装H5页面,自己写插件,但做法是野路子,不符合cordova插件的开发思路,这次项目又需要包装H5页面,同时需要自定义插件.所以又折腾了一次cordova自定义插件. ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(三)
上一篇(https://www.cnblogs.com/meowv/p/12974439.html)完成了全网各大平台的热点新闻数据的抓取,本篇继续围绕抓取完成后的操作做一个提醒.当每次抓取完数据后, ...
- day1_计算机基础
一.计算器5大组成:计算机硬件:(计算机是奴隶) 1.五大组成 控制器 运算器 存储器I/O:内存+外存 ...
- Java实现 蓝桥杯VIP 算法提高 Torry的困惑(提高型)
算法提高 Torry的困惑(提高型) 时间限制:1.0s 内存限制:512.0MB 问题描述 Torry从小喜爱数学.一天,老师告诉他,像2.3.5.7--这样的数叫做质数.Torry突然想到一个问题 ...