设置线属性
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()


本文详细介绍如何在Matplotlib中设置线条属性,包括颜色、宽度、样式等,通过关键字参数、Line2D对象的set_*方法及setp()方法进行调整,适用于不同场景的绘图需求。
986

被折叠的 条评论
为什么被折叠?



