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.linuxboy.net/topicnews.aspx?tid=17

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-03/157634.htm

相关内容