matplotlib提供了填充图案用于填充平面。这些填充图案,对于仅包含黑白两色的图形中具有重要作用。
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=‘w’, hatch=‘x’, edgecolor=‘black’)
plt.bar(x, a+b, bottom=a, color=‘w’, edgecolor=‘black’, hatch=‘/’)
plt.show()
具有填充呈现性的函数(如pyplot.bar())接受可选参数hatch控制填充样式,此参数的可选值包括:"/", "\", "|", "-", "+", "x", "o", "O","."和"*",每个值对应于不同的填充图案;edgecolor参数可用于控制图案填充的颜色。
在《详解常见统计图的绘制》中,我们已经了解了如何如何绘制曲线,并明白了曲线是由点之间的连线构成的;此外,散点图表示数据集中的每个点。而matplotlib提供了多种形状,可以用其他类型的标记替换点的样式。
标记的指定方式包括以下几种:
-
预定义标记:预定义的形状,表示为[0, 8]范围内的整数或某些预定义的字符串。
-
顶点列表:值对列表,用作形状路径的坐标。
-
正多边形:表示N边正多边形的三元组(N, 0, angle),其中angle为旋转角度。
-
星形多边形:它表示为三元组(N, 1, angle),代表N边正星形,其中angle为旋转角度。
import numpy as np
import matplotlib.pyplot as plt
a = np.random.standard_normal((100, 2))
a += np.array((-1, -1))
b = np.random.standard_normal((100, 2))
b += np.array((1, 1))
plt.scatter(a[:,0], a[:,1], color = ‘m’, marker = ‘x’)
plt.scatter(b[:,0], b[:,1], color = ‘c’, marker = ‘^’)
plt.show()