Saya telah menggunakan Matplotlib untuk menggambar garis pada gambar. Sekarang saya ingin mengatur gaya, khususnya penanda, untuk setiap poin di telepon. Bagaimana saya melakukan ini?
Untuk memperjelas pertanyaan saya, saya ingin dapat mengatur gaya untuk masing-masing penanda pada suatu garis, tidak setiap penanda pada garis tersebut.
python
matplotlib
dbmikus
sumber
sumber
Jawaban:
Tentukan argumen kata kunci
linestyle
dan / ataumarker
dalam panggilan Anda untukplot
.Misalnya, menggunakan garis putus-putus dan penanda lingkaran biru:
Panggilan pintas untuk hal yang sama:
Berikut adalah daftar kemungkinan gaya garis dan marker:
sunting: dengan contoh menandai subset poin yang berubah-ubah, seperti yang diminta dalam komentar:
Contoh terakhir ini menggunakan
markevery
kwarg dimungkinkan sejak 1.4+, karena penggabungan cabang fitur ini . Jika Anda terjebak pada versi matplotlib yang lebih lama, Anda masih bisa mencapai hasilnya dengan menumpangkan sebar sebaran di plot garis. Lihat riwayat edit untuk detail lebih lanjut.sumber
matplotlib.markers.MarkerStyle.markers
, yang mengembalikan kamus mirip dengan apa yang diposting di atas.Ada gambar yang menunjukkan nama dan deskripsi semua spidol, saya harap ini akan membantu Anda.
sumber
Untuk referensi di masa mendatang -
Line2D
artis yang dikembalikan olehplot()
juga memilikiset_markevery()
metode yang memungkinkan Anda untuk hanya menetapkan penanda pada titik-titik tertentu - lihat https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D. set_markeverysumber
Trik sederhana untuk mengubah bentuk penanda titik, ukuran ... adalah dengan terlebih dahulu memplotnya dengan semua data lainnya, lalu plot satu plot lagi hanya dengan titik itu (atau kumpulan poin jika Anda ingin mengubah gaya beberapa titik) . Misalkan kita ingin mengubah bentuk marker dari titik kedua:
Hasilnya adalah: Plot dengan banyak spidol
sumber