控制线条样式和线宽
在实践中,除了颜色,大多数情况下我们还要对图形的线条样式等进行控制,以为线条样式添加多样性。
线条样式
importnumpyasnpimportmatplotlib.pyplotaspltdefgaussian(x, mu, sigma): a=1./ (sigma*np.sqrt(2.*np.pi)) b=-1./ (2.*sigma**2) returna*np.exp(b* (x-mu) **2) x=np.linspace(-6, 6, 1024) plt.plot(x, gaussian(x, 0., 1.), color='y', linestyle='solid') plt.plot(x, gaussian(x, 0., .5), color='c', linestyle='dashed') plt.plot(x, gaussian(x, 0., .25), color='m', linestyle='dashdot') plt.show()
Tips:使用 plt.plot() 的 linestyle 参数来控制曲线的样式,其他可用线条样式包括:"solid"、"dashed"、"dotted"、"dashdot"。
同样,线条样式设置不仅限于 plt.plot(),任何由线条构成的图形都可以使用此参数,也可以说 linestyle 参数可用于所有涉及线条渲染的命令。例如,可以修改条形图的线条样式:
importnumpyasnpimportmatplotlib.pyplotaspltn=10a=np.random.random(n) b=np.random.random(n) x=np.arange(n) plt.bar(x, a, color='c') plt.bar(x, a+b, bottom=a, color='w', edgecolor='black', linestyle='dashed') plt.show()
Tips:由于在条形图、饼图等图形中,默认的边线的颜色为白色,因此若要在白色背景上进行显示,需要通过 edgecolor 参数改变边线颜色。
线宽
使用 linewidth 参数可以修改线条的粗细。默认情况下,linewidth 设置为1个单位。利用线条的粗细可以在视觉上强调某条特定的曲线。
importnumpyasnpimportmatplotlib.pyplotaspltdefgaussian(x, mu, sigma): a=1./ (sigma*np.sqrt(2.*np.pi)) b=-1./ (2.*sigma**2) returna*np.exp(b* (x-mu) **2) x=np.linspace(-6, 6, 1024) foriinrange(64): samples=np.random.standard_normal(50) mu, sigma=np.mean(samples), np.std(samples) plt.plot(x, gaussian(x, mu, sigma), color='.75', linewidth=.5) plt.plot(x, gaussian(x, 0., 1.), color='c', linewidth=3.) plt.show()