1. 程式人生 > >Matplotlib 記錄(持續更新)

Matplotlib 記錄(持續更新)

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

影象:

在影象中顯示網格

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

效果:
在這裡插入圖片描述