b’Iris-virginica’,
)
colors = [‘c’,‘y’,‘m’]
def read_label(label):
return label_list.index(label)
data = np.loadtxt(‘iris.data’, delimiter = ‘,’, converters = { 4 : read_label })
marker_set = (‘^’, ‘x’, ‘.’)
for i, marker in enumerate(marker_set):
data_subset = np.asarray([x for x in data if x[4] == i])
plt.scatter(data_subset[:,0], data_subset[:,1], color = colors[i], marker = marker)
plt.show()
对于
pyplot.plot()
,也可以使用相同的标记参数访问标记样式。当数据点密集时,每个点都使用标记进行显示将会导致图片混乱,因此matplotlib提供了markevery参数,允许每隔N个点显示一个标记:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-6, 6, 1024)
y_1 = np.sinc(x)
y_2 = np.sinc(x) + 1
plt.plot(x, y_1, marker = ‘x’, color = ‘.75’)
plt.plot(x, y_2, marker = ‘o’, color = ‘k’, markevery = 64)
plt.show()
标记的大小可选参数s
进行控