Python-Matplotlib可视化(2)——自定义颜色绘制精美统计图
前言
matplotlib提供的所有绘图都带有默认样式。虽然这可以进行快速绘图,但有时可能需要自定义绘图的颜色和样式,以对绘制更加精美、符合审美要求的图像。matplotlib的设计考虑到了此需求,可以很容易调整matplotlib图形的颜色和样式。
自定义颜色
在生活中,我们可能对色彩的搭配与审美有自己的偏好,因此,我们可能希望matplotlib遵循自定义的颜色方案,以便所绘制的图形更好地适合文档或网页。
matplotlib中有多种定义颜色的方法,常见的方法包括:
-
三元组(Triplets):颜色可以描述为一个实数三元组,即颜色的红、蓝、绿分量,其中每个分量在[0,1]区间内。因此,(1.0, 0.0, 0.0)表示纯红色,而(1.0, 0.0, 1.0)则表示粉色。
-
四元组(Quadruplets):它们前三个元素与三元组定义相同,第四个元素定义透明度值。此值也在[0,1]区间内。将图形渲染到图片文件中时,使用透明颜色可以使绘制图形与背景进行混合。
-
预定义名称:matplotlib将标准HTML颜色名称解释为实际颜色。例如,字符串red即可表示为红色。同时一些某些颜色的具有简洁的别名,如下表所示:
别名 颜色 显示 b blue g green r red c cyan m magenta y yellow k black w white -
HTML颜色字符串:matplotlib可以将HTML颜色字符串解释为实际颜色。这些字符串被定义为#RRGGBB,其中RR、GG和BB是使用十六进制编码的红色、绿色和蓝色分量。
-
灰度字符串:matplotlib将浮点值的字符串表示形式解释为灰度,例如0.75表示中浅灰色。
使用自定义颜色绘制曲线图
通过设置plt.plot()函数的参数color(或等效的简写为c),可以设置曲线的颜色,如下所示:
import numpy as np
import matplotlib.pyplot as plt
def pdf(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, 1000)
for i in range(5):
samples = np.random.standard_normal(50)
mu, sigma = np.mean(samples), np.std(samples)
plt.plot(x, pdf(x, mu, sigma), color = str(.15*(i+1)))
plt.plot(x, pdf(x, 0., 1.), color = 'k')
plt.plot(x, pdf(x, 0.2, 1.), color = '#00ff00')
plt.plot(x, pdf(x, 0.4, 1.), color = (0.9,0.9,0.0))
plt.plot(x, pdf(x

最低0.47元/天 解锁文章
387

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



