2014-04-23 12 views
11

Ich versuche, einen einzelnen Datenpunkt auf einem Grundstück Legende haben, indem sie die Vorschläge folgende here und es scheint nicht zu funktionieren:Einstellung numpoints in matplotlib Legende funktioniert nicht

from pylab import scatter 
import pylab 
import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = plt.gca() 
ax.scatter(1,2,c = 'blue', marker = 'x') 
ax.scatter(2,3, c= 'red', marker = 'o') 
ax.legend(('1','2'), loc = 2, numpoints = 1) 
plt.show() 

code output

Am Ich mache hier etwas völlig Dummes? Einige zusätzliche Informationen:

In [147]: import matplotlib 
      print matplotlib.__version__ 

Out [147]: 1.1.1rc 

Antwort

13

Für Scatterplots, verwenden Sie den scatterpoints Parameter:

import matplotlib.pyplot as plt 

fig, ax = plt.subplots() 
ax.scatter(1, 2, c='blue', marker='x') 
ax.scatter(2, 3, c='red', marker='o') 
ax.legend(('1', '2'), loc=2, scatterpoints=1) 
plt.show() 

enter image description here

+0

Fantastisch, danke! – nikosd

+3

Große Antwort, hätte ich nie gedacht. Es ist ziemlich sinnlos, zwei verschiedene Parameter zu verwenden, um das gleiche zu tun. – Gabriel

+0

Achsen können sowohl Liniendiagramme als auch Streudiagramme enthalten. Mit zwei Parametern, "Streupunkten" und "Anzahlpunkten", können Sie das Aussehen dieser Legendenelemente unabhängig steuern. – unutbu

Verwandte Themen