Matplotlib 绘图系列示例

在这里记录一下平时使用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()

图像:

Matplotlib 绘图系列示例

在图像中显示网格

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()

效果如下:

Matplotlib 绘图系列示例

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/32443f314077af2c0857560dd150df32.html