Я хотел бы построить 2d набор данных с matplotlib, чтобы цвет маркера для каждой точки данных был другим. Я нашел пример на разноцветных линиях (http://matplotlib.org/examples/pylab_examples/multicolored_line.html). Однако это не работает при построении линии с маркерами.matplotlib - изменить цвет маркера вдоль линии графика
Решение, которое я придумал индивидуально участки каждый пункт:
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import numpy as np
# The data
x = np.linspace(0, 10, 1000)
y = np.sin(2 * np.pi * x)
# The colormap
cmap = cm.jet
# Create figure and axes
fig = plt.figure(1)
fig.clf()
ax = fig.add_subplot(1, 1, 1)
# Plot every single point with different color
for i in range(len(x)):
c = cmap(int(np.rint(x[i]/x.max() * 255)))
ax.plot(x[i], y[i], 'o', mfc=c, mec=c)
ax.set_xlim([x[0], x[-1]])
ax.set_ylim([-1.1, 1.1])
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.draw()
plt.show()
# Save the figure
fig.savefig('changing_marker_color.png', dpi=80)
Полученный график выглядит так, как надо, но построение становится очень медленным и мне это нужно очень быстро. Есть ли уловка для ускорения заговора?