1. 程式人生 > >matplotlib4 --設定line的屬性, color,linestyle, linewidth, marker等

matplotlib4 --設定line的屬性, color,linestyle, linewidth, marker等

設定線屬性

1. 使用關鍵字引數
  • 利用fmt引數更改color, marker, 和line

    fmt=''[color][marker][line]
    三個中每一個都是可選的。

    color:
    在這裡插入圖片描述

Markers:
在這裡插入圖片描述

linestyle:
在這裡插入圖片描述

先建立x,y資料:

x = np.linspace(-np.pi, np.pi, 128,endpoint=True)
cosx,sinx,x_3 = np.cos(x), np.sin(x), x / 3
x2 = np.linspace(-np.pi, np.pi, 32, endpoint=True
) fig = plt.figure(1) axes0 = plt.subplot(211) axes0.plot(x2, np.cos(x2), 'm*', x, cosx, 'k') axes1 = plt.subplot(212) axes1.plot(x, sinx, 'c-.') plt.show()

在這裡插入圖片描述

  • linewidth 設定線寬
fig = plt.figure(1)
axes0 = plt.subplot(211)
axes0.plot(x, cosx, 'r', linewidth=2.5)

axes1 = plt.subplot(212)
axes1.
plot(x, sinx, 'r', linewidth=1)

由於使用關鍵字引數,不能對一個Axes中多條曲線同時在一個plot函式中linewith設定線寬,否則報錯:positional argument follows keyword argument

在這裡插入圖片描述

但是可以通過使用多個plot函式繪製不同的曲線,然後設定相應線的屬性

fig = plt.figure(1)
axes0 = plt.subplot(211)
axes0.plot(x, cosx, 'k',linewidth=1)
axes0.plot(x, sinx, 'r', linewidth=2.5)
axes1 =
plt.subplot(212) axes1.plot(x, sinx, 'r', linewidth=1) axes1.plot(x, x_3, 'c', linewidth=2.5) plt.show()

在這裡插入圖片描述

2. 使用Line2D的set_*方法設定屬性

plot函式返回Line2D物件,可以使用該物件的set_*方法設定相應的屬性,有幾條線就返回幾個物件的列表

在這裡插入圖片描述

只需要使用set_property將想要改變的屬性加在set_後面即可

fig = plt.figure(1)
axes0 = plt.subplot(211)
line1, line2 = axes0.plot(x, cosx, 'k',x, x_3, 'c')

line1.set_linewidth(2.5)
line2.set_linewidth(1)


plt.show()

在這裡插入圖片描述

3.setp()方法

plt.step(Line2D, **kwargs)
將plot返回的Line2D物件傳入第一個引數,然後使用關鍵字引數指定曲線的屬性

注意這個地方使用的plt.setp

fig = plt.figure(1)
axes0 = plt.subplot(211)
line1, line2 = axes0.plot(x, cosx, 'k',x, x_3, 'c')

plt.setp(line1, linewidth=2.5)
plt.setp(line2, linewidth=1)


plt.show()

在這裡插入圖片描述