Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menganotasi Plot Taburan dengan Nilai Teks Titik Data Individu?

Bagaimana untuk Menganotasi Plot Taburan dengan Nilai Teks Titik Data Individu?

Susan Sarandon
Susan Sarandonasal
2024-12-02 08:18:12727semak imbas

How to Annotate a Scatter Plot with Individual Data Point Text Values?

Petak Taburan dengan Anotasi Teks Titik Data Individu

Soalan:

Bagaimana saya boleh mencipta plot taburan dan anotasi setiap titik data dengan nilai teks tertentu daripada yang diberikan senarai?

Contoh:

Memandangkan data berikut:

y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199]
x = [0.15, 0.3, 0.45, 0.6, 0.75]
n = [58, 651, 393, 203, 123]

Bolehkah saya menjana plot serakan y vs x dan mencatat setiap titik dengan nilai yang sepadan daripada n?

Jawapan:

Memandangkan tiada kaedah plot langsung yang menyokong titik data anotasi dengan teks daripada senarai, pendekatan alternatif ialah menggunakan anotasi() kaedah:

import matplotlib.pyplot as plt

x = [0.15, 0.3, 0.45, 0.6, 0.75]
y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199]
n = [58, 651, 393, 203, 123]

fig, ax = plt.subplots()
ax.scatter(x, y)

for i, txt in enumerate(n):
    ax.annotate(txt, (x[i], y[i]))

plt.show()

Kod ini mencipta plot berselerak dan berulang ke atas nilai teks dalam senarai n, menganotasi setiap data titik dengan nilai yang sepadan.

Pilihan Pemformatan:

Matplotlib menyediakan pelbagai pilihan pemformatan untuk anotasi, termasuk:

  • Warna dan saiz teks
  • Warna dan bentuk latar belakang
  • Gaya anak panah dan kedudukan
  • Penjajaran dan putaran

Untuk maklumat lanjut tentang pilihan pemformatan, rujuk Matplotlib dokumentasi:

[https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.annotate.html](https://matplotlib.org/stable/api/_as_gen/matplotlib. axes.Axes.annotate.html)

Atas ialah kandungan terperinci Bagaimana untuk Menganotasi Plot Taburan dengan Nilai Teks Titik Data Individu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn