Frage von LifeArtist1, 8

Wie kann ich schnell ein numpy array (2D) in matplotlib plotten?

Moin,

entweder stehe ich total auf dem Schlauch oder bin zu blöd dafür.

Ich habe beispielsweise Punkte in einem np array und möchte diese nun plotten. Leider kann ich sie ja nicht einfach in einer Liste lassen da anscheinend X, Y getrennt behandelt werden. Daher muss ich immer:

Nicht wundern die variablen sind nur Temporär hatte ich kurz direkt aus GeoGebra übernommen.

import matplotlib.pyplot as plt
import numpy as np


A2 = np.array((-1.00000000000000, 0.00000000000000))
A3 = np.array((-1.00000000000000, 1.00000000000000))
A4 = np.array((0.00000000000000, 1.00000000000000))
A5 = np.array((1.00000000000000, 1.00000000000000))
A6 = np.array((1.00000000000000, 0.00000000000000))
A7 = np.array((1.00000000000000, -1.00000000000000))
A8 = np.array((0.00000000000000, -1.00000000000000))
A9 = np.array((-1.00000000000000, -1.00000000000000))

pointList = [A2, A3, A4, A5, A6, A7, A8, A9]

x = [point[0] for point in pointList]
y = [point[1] for point in pointList]
                        
plt.plot(x,y, 'ro')
plt.axis([-1.1,1.1,-1.1,1.1])
plt.gca().set_aspect('equal', adjustable='box')
plt.show()

Natürlich könnte man das noch mit zip in einen Einzeiler verwandeln, was aber nicht wirklich lesbarer wird.

Habt ihr eine Idee ?

Regards

Antwort
von karajan9, 2

Ich glaube, das hier ist das Richtige für dich: http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html

Nehmen wir an, dein Array sieht so aus, jeweils ein Datenpaar zusammen:
daten = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])

Dann bekommst du so alle x und y Werte:
x = daten[:,0]
y = daten[:,1]

Ich hoffe das war das, was du brauchst, ansonsten frag noch ein mal nach ;-)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten