Python-Matplotlib可视化(3)——自定义样式绘制精美统计图
前言
matplotlib提供的所有绘图都带有默认样式。虽然这可以进行快速绘图,但有时可能需要自定义绘图的颜色和样式,以对绘制更加精美、符合审美要求的图像。matplotlib的设计考虑到了此需求,很容易调整matplotlib图形的样式。
控制线条样式和线宽
在实践中,除了颜色,大多数情况下我们还要对图形的线条样式等进行控制,以为线条样式添加多样性。
线条样式
import numpy as np
import matplotlib.pyplot as plt
def gaussian(x, mu, sigma):
a = 1. / (sigma * np.sqrt(2. * np.pi))
b = -1. / (2. * sigma ** 2)
return a * 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参数可用于所有涉及线条渲染的命令。例如,可以修改条形图的线条样式:
import numpy as np
import matplotlib.pyplot as plt
n = 10
a = 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个单位。利用线条的粗细可以在视觉上强调某条特定的曲线。
import numpy as np
import matplotlib.pyplot as plt
def gaussian(x, mu, sigma):
a = 1. / (sigma * np.sqrt(2. * np.pi))
b = -1. / (2. * sigma ** 2)
return a * np.exp(b * (x

本文详细介绍了如何使用Python的Matplotlib库自定义线条样式、线宽、填充样式、标记样式和大小,以创建专业且美观的统计图。通过控制线条的linestyle和linewidth,以及设置填充图案的hatch,可以增加图形的视觉效果。同时,通过调整标记的marker、大小和颜色,可以突出数据点的重要性和区分不同数据集。此外,还展示了如何创建自定义标记,以满足特殊需求。
最低0.47元/天 解锁文章
2万+

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



