matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等

设置线属性

1. 使用关键字参数
  • 利用fmt参数更改color, marker, 和line

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

    color:
    matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第1张图片

Markers:
matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第2张图片

linestyle:
matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第3张图片

先创建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()

matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第4张图片

  • 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

matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第5张图片

但是可以通过使用多个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()

matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第6张图片

2. 使用Line2D的set_*方法设置属性

plot函数返回Line2D对象,可以使用该对象的set_*方法设置相应的属性,有几条线就返回几个对象的列表

matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第7张图片

只需要使用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()

matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第8张图片

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

matplotlib4 --设置line的属性, color,linestyle, linewidth, marker等_第9张图片

你可能感兴趣的:(matplotlib,matplotlib一直在入门)