1

我想在使用plt.stem.

这是我的代码

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),但没有任何改变。没有设置linewidthin 的功能plt.stem吗?

4

2 回答 2

5

的文档plt.stem显示该函数返回绘图创建的所有线对象。您可以使用它在绘图后手动使线条变粗:

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

结果

于 2016-09-02T12:15:33.653 回答
4

这也可以使用matplotlib 文档示例plt.setp()中所示的方法进行修改。该方法允许您在创建艺术家对象后设置其属性。plt.setp()

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

在此处输入图像描述

于 2016-09-02T12:19:51.060 回答