How to make thicker stem lines in matplolib
<p>I want to make thicker stem lines in python when using <code>plt.stem</code>.</p>

<p>Here is my code</p>

<pre><code>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()
</code></pre>

<p>I changed <code>plt.stem(n,x.real,linewidth=10)</code>, but nothing changed. Is there no function to set the <code>linewidth</code> in <code>plt.stem</code>?</p>

<p>The documentation of <a href="http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.stem"><code>plt.stem</code></a> shows that the function returns all the line objects created by the plot. You can use that to manually make the lines thicker after plotting:</p>

<pre><code>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()
</code></pre>

<p><a href="http://i.stack.imgur.com/nxVg3.png"><img src="http://i.stack.imgur.com/nxVg3.png" alt="result"></a></p>

python stem