在这里记录一下平时使用Matplotlib绘图的时候遇到的一些零散的知识点,以后在遇到类似的问题,就在这里找啦。
Sactter函数格式
scatter(x, y, s=None, maker=None,
cmap=None, norm=None, wmin=None,
vmax=None, alpha=None, linewidth=None,
verts=None, edgecolors=None,
hold=None, data=None, **kwargs)
常用的参数的含义:
x,y 要进行绘制的数据点、
s 点的大小,也就是面积(默认20)
c 点的颜色
maker 点的形状
绘图 颜色、线、点的取值
颜色取值有
字符颜色b 蓝
g 绿
r 红
c 青
m 品红
y 黄
k 黑
w 白
这些事简写的字母,其他的颜色可以直接写全称
线和点的样式取值有
字符象征- 实线
– 短划线
-. 点实线
: 虚线
. 点标记
’ 像素标记
o 圆标记
v 向下三角
^ 向上三角
< 向左三角
> 向右三角
1 Tri_down
2 Tri_up
3 Tri_left
4 Tri_right
s 方形
p 五边形
* 星号
h 六角形1
H 六角形2
+ 加号
x X标记
D 菱形
d 细菱形
如何在图像中标注点
使用的是 annotate() 函数,例如:
x = np.linspace(-1, 5, 100)
y = x
plt.figure()
plt.plot(x, y)
for i in range(5):
plt.scatter(i, i)
plt.annotate('(%d, %d)' %(i, i),
xy=(i ,i), xycoords='data',
xytext=(0, 0), textcoords='offset points'
)
plt.show()
图像:
在图像中显示网格
plt.grid(True)
在图像中绘制一条线段
其实没必要想得那么复杂。。直接用plot() + scatter()就可以了
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
x = np.array([[1, 4], [3, 3]])
y = np.array([[2, 3], [2, 3]])
for i in range(len(x)):
plt.plot(x[i], y[i])
plt.scatter(x[i], y[i])
plt.xlim(0, 5)
plt.ylim(1, 5)
plt.grid(True)
plt.show()
效果如下: