2016-11-30 5 views
2

Angenommen, ich habe eine Reihe von Punkten x und eine Reihe von entsprechenden Daten y. Ich zeichne diese nun in einem Streudiagramm, plt.scatter(x,y). Die Figur, die ich bekomme, enthält ein x-Achsen-Tick, das von Matplotlib erzeugt wird. Gibt es eine Möglichkeit, das automatische Ticken zu erreichen, aber vertikale Linien von der X-Achse zum Punkt in der Streuung hinzuzufügen und sie zu beschriften?Vertikale Linien zu Punkten im Streudiagramm

+0

erläutern Sie Ihre Frage, bitte – eyllanesc

+0

Wenn Sie eine Abbildung des gewünschten Ausgangs – eyllanesc

Antwort

2

Gefällt mir?

altered scattergram

Wenn ja, dann sind hier das Wesentliche.

import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib import collections as matcoll 

x = np.arange(1,13) 
y = [15,14,15,18,21,25,27,26,24,20,18,16] 

lines = [] 
for i in range(len(x)): 
    pair=[(x[i],0), (x[i], y[i])] 
    lines.append(pair) 

linecoll = matcoll.LineCollection(lines) 
fig, ax = plt.subplots() 
ax.add_collection(linecoll) 

plt.scatter(x,y) 

plt.xticks(x) 
plt.ylim(0,30) 

plt.show() 

Nachtrag:

Für farbigen Punkt, ersetzen plt.scatter(x,y) mit:

colours = ['Crimson', 'Blue', 'Fuchsia', 'Gold', 'Green', 'Tomato', 'Indigo', 'Turquoise', 'Brown', 'Wheat', 'Yellow',] 
plt.scatter(x,y,c=colours) 
  • Für die optionalen Möglichkeiten zur Angabe Farben specifying colours sehen.
  • Eine Liste der X11-Farbnamen und ihrer entsprechenden Hex-Codes finden Sie unter X11 colours.
  • Beachten Sie, dass Matplotlib zwei Wortfarben wie "Hot Pink" nicht zu mögen scheint.
+0

was ist, wenn ich jeden Punkt in einer anderen Farbe zeichnen müssen wäre toll hinzufügen können? –

+0

Bitte beachten Sie das Antwort-Addendum. –

2

Nun, es ist eine stem Methode, viel einfacher zu bedienen:

import matplotlib.pyplot as plt 
import numpy as np 

x, y = np.random.random((2, 20)) 

fig, ax = plt.subplots() 
ax.stem(x, y, markerfmt=' ') 
plt.show() 

Wenn Sie Aufzählungszeichen auf der Spitze der Linien wollen, nur markerfmt entfernen.

Verwandte Themen