如何在 matplotlib 中制作更粗的主干线
How to make thicker stem lines in matplolib
我想在使用 plt.stem
时在 python 中制作更粗的主干线。
这是我的代码
import matplotlib.pyplot as plt
import numpy as np
N = 20
n = np.arange(0, 2*N, 1)
x = np.exp(-n/N)*np.exp(1j * 2*np.pi/N*n)
plt.stem(n,x.real)
plt.show()
我改变了plt.stem(n,x.real,linewidth=10)
,但没有任何改变。 plt.stem
中没有设置linewidth
的函数吗?
plt.stem
的文档显示函数 returns 由绘图创建的所有线对象。您可以使用它在绘图后手动使线条变粗:
import matplotlib.pyplot as plt
import numpy as np
N = 20
n = np.arange(0, 2*N, 1)
x = np.exp(-n/N)*np.exp(1j * 2*np.pi/N*n)
markers,stems,base = plt.stem(n,x.real)
for stem in stems:
stem.set_linewidth(10)
plt.show()
这也可以使用 plt.setp()
进行修改,如 matplotlib 文档中所示 example. The plt.setp()
method 允许您在创建艺术家对象后设置其属性。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 2*np.pi, 10)
markerline, stemlines, baseline = plt.stem(x, np.cos(x), '-.')
plt.setp(stemlines, 'linewidth', 4)
plt.show()
我想在使用 plt.stem
时在 python 中制作更粗的主干线。
这是我的代码
import matplotlib.pyplot as plt
import numpy as np
N = 20
n = np.arange(0, 2*N, 1)
x = np.exp(-n/N)*np.exp(1j * 2*np.pi/N*n)
plt.stem(n,x.real)
plt.show()
我改变了plt.stem(n,x.real,linewidth=10)
,但没有任何改变。 plt.stem
中没有设置linewidth
的函数吗?
plt.stem
的文档显示函数 returns 由绘图创建的所有线对象。您可以使用它在绘图后手动使线条变粗:
import matplotlib.pyplot as plt
import numpy as np
N = 20
n = np.arange(0, 2*N, 1)
x = np.exp(-n/N)*np.exp(1j * 2*np.pi/N*n)
markers,stems,base = plt.stem(n,x.real)
for stem in stems:
stem.set_linewidth(10)
plt.show()
这也可以使用 plt.setp()
进行修改,如 matplotlib 文档中所示 example. The plt.setp()
method 允许您在创建艺术家对象后设置其属性。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 2*np.pi, 10)
markerline, stemlines, baseline = plt.stem(x, np.cos(x), '-.')
plt.setp(stemlines, 'linewidth', 4)
plt.show()