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.

  • Generator von gleichmäßig beabstandeten Punkten in einem Kreis in Python
  • Wie generiere ich kreisförmige Thumbnails mit PIL?
  • Python, Circular Dependencies und Singletons
  • Gefüllte Kreiserkennung mit CV2 in Python?
  • Iterate über 2d Array in einer expandierenden kreisförmigen Spirale
  • 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!

  • Wie finde ich alle einzigartigen Teilstrings einer sehr langen Saite?
  • Wiederholen Sie das NumPy-Array ohne Replikation von Daten?
  • Erstellen von hochauflösenden Bildern in Python
  • 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
  • Python optimieren: Große Arrays, Speicherprobleme
  • 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.