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