Matplotlib – Zeichnen eines glatten Kreises in einem polaren Plot

Ich mag die polare Handlung von matplotlib und würde gerne daran arbeiten, dass es weiter geht (da meine Datenpunkte ohnehin in Polarkoordinaten gegeben sind und meine Umgebung kreisförmig ist).

Doch in der Handlung möchte ich Kreise der gegebenen Radien an bestimmten Punkten hinzufügen.

  • Gefüllte Kreiserkennung mit CV2 in Python?
  • Generator von gleichmäßig beabstandeten Punkten in einem Kreis in Python
  • Iterate über 2d Array in einer expandierenden kreisförmigen Spirale
  • Wie generiere ich kreisförmige Thumbnails mit PIL?
  • Python, Circular Dependencies und Singletons
  • Normalerweise würde ich tun:

    ax = plt.subplot(111) ax.scatter(data) circle = plt.Circle((0,0), 0.5) ax.add_artist(circle) plt.show() 

    Allerdings kann ich in Polarkoordinaten keinen Kreis verwenden, da er rechteckige Koordinaten annimmt.

    Ideen, die ich gefunden habe, sind: Erzeugen eines Arrays von Punkten mit konstanter Radialkoordinate und einer Winkelkoordinate in [0, 2PI] oder vollständig Umschalten auf rechteckige Koordinaten. Beide Lösungen sind nicht wirklich zufriedenstellend – kann man mit matplotlib besser machen?

    Vielen Dank!

  • Wiederholen Sie das NumPy-Array ohne Replikation von Daten?
  • Wie finde ich alle einzigartigen Teilstrings einer sehr langen Saite?
  • Python-Rekursion über 10000 Knoten
  • Vergleichen Sie zwei verschiedene Größenmatrizen, um eine große Matrix zu machen - Geschwindigkeitsverbesserungen?
  • Beschleunigen Sie das Einfügen großer Datensätze aus der txt-Datei auf mySQL mit python
  • Python große Dateien, wie man bestimmte Zeilen mit einer bestimmten Zeichenfolge zu finden
  • One Solution collect form web for “Matplotlib – Zeichnen eines glatten Kreises in einem polaren Plot”

    Sie können das Argument des Circle :

     %matplotlib inline import pylab as pl import numpy as np N = 100 theta = np.random.rand(N)*np.pi*2 r = np.cos(theta*2) + np.random.randn(N)*0.1 ax = pl.subplot(111, polar=True) ax.scatter(theta, r) circle = pl.Circle((0.5, 0.3), 0.2, transform=ax.transData._b, color="red", alpha=0.4) ax.add_artist(circle) 

    Ausgabe:

    Bildbeschreibung hier eingeben

    Oder transform=ax.transProjectionAffine + ax.transAxes wenn es Ihnen nicht gefällt, das private Attribut zu verwenden.

    Python ist die beste Programmiersprache der Welt.