2015-01-28 5 views
-1

Посмотрите на вторую цифру here, я сейчас работаю с scatterplot, и когда я рисую легенду, я получаю две «точки отсчета» (по ссылке они являются двумя синими звездами) , Как я могу показать только один из них? Почему matplotlib составляет 2 из них?Легенды с matplotlib (рассеянная диаграмма)

Рода код, который я использую

plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), mode="expand", borderaxespad=0.)

Я новичок в этом, так что я до сих пор не использовать «Легенда ручки».

Заранее спасибо

+0

Я просто заметил, этот вопрос уже есть ответ здесь: http://stackoverflow.com/a/17412294/3005167 – kazemakase

ответ

1

Для графиков рассеяния необходимо установить scatterpoints.

import matplotlib.lines as mlines 
import matplotlib.pyplot as plt 

plt.figure(figsize=(6, 2)) 

plt.subplot(1, 2, 1) 
plt.scatter([1, 2, 3, 4, 5], [1, 2, 5, 3, 4]) 
plt.legend(['text']) 

plt.subplot(1, 2, 2) 
plt.scatter([1, 2, 3, 4, 5], [1, 2, 5, 3, 4]) 
plt.legend(['text'], scatterpoints=1) 

plt.show() 

enter image description here

+0

Это не работает, потому что объекты, построенные в линии вместо точек. numpoints просто добавляет точки в линию. –

+0

Я отредактировал свой ответ. Если это не то, что вы просили, передумайте, перефразируя свой вопрос. – kazemakase

+0

Я думаю, что вопрос в порядке, у меня есть диаграмма рассеяния, и легенда визуально выглядит как вторая во втором примере, я хочу всего одну точку вместо двух. Решение не работает :( –

Смежные вопросы