Я создал график рассеяния 4D для отображения различных температур в определенной области. Когда я создаю легенду, легенда показывает правильный символ и цвет, но добавляет к ней линию. Код я использую:Matplotlib описание легенды разметки
colors=['b', 'c', 'y', 'm', 'r']
lo = plt.Line2D(range(10), range(10), marker='x', color=colors[0])
ll = plt.Line2D(range(10), range(10), marker='o', color=colors[0])
l = plt.Line2D(range(10), range(10), marker='o',color=colors[1])
a = plt.Line2D(range(10), range(10), marker='o',color=colors[2])
h = plt.Line2D(range(10), range(10), marker='o',color=colors[3])
hh = plt.Line2D(range(10), range(10), marker='o',color=colors[4])
ho = plt.Line2D(range(10), range(10), marker='x', color=colors[4])
plt.legend((lo,ll,l,a, h, hh, ho),('Low Outlier', 'LoLo','Lo', 'Average', 'Hi', 'HiHi', 'High Outlier'),numpoints=1, loc='lower left', ncol=3, fontsize=8)
Я попытался изменить Line2D
к Scatter
и scatter
. Scatter
возвращено с ошибкой, и scatter
сменил график и возвратил ошибку.
С scatter
я изменил range(10)
на списки, содержащие точки данных. Каждый список содержит либо переменную x, y, либо z.
lo = plt.scatter(xLOutlier, yLOutlier, zLOutlier, marker='x', color=colors[0])
ll = plt.scatter(xLoLo, yLoLo, zLoLo, marker='o', color=colors[0])
l = plt.scatter(xLo, yLo, zLo, marker='o',color=colors[1])
a = plt.scatter(xAverage, yAverage, zAverage, marker='o',color=colors[2])
h = plt.scatter(xHi, yHi, zHi, marker='o',color=colors[3])
hh = plt.scatter(xHiHi, yHiHi, zHiHi, marker='o',color=colors[4])
ho = plt.scatter(xHOutlier, yHOutlier, zHOutlier, marker='x', color=colors[4])
plt.legend((lo,ll,l,a, h, hh, ho),('Low Outlier', 'LoLo','Lo', 'Average', 'Hi', 'HiHi', 'High Outlier'),scatterpoints=1, loc='lower left', ncol=3, fontsize=8)
Когда я запускаю это, легенда больше не существует, это маленький белый ящик в углу, в котором ничего нет.
Любые советы?
Я считаю, что гораздо лучшее решение дано [здесь] (http://stackoverflow.com/questions/21654635/scatter-plots-in-pandas-pyplot-how-to-plot -по категории). – dmvianna