Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menghapuskan Anjakan Relatif dalam Label Axis Matplotlib?

Bagaimana untuk Menghapuskan Anjakan Relatif dalam Label Axis Matplotlib?

Barbara Streisand
Lepaskan: 2024-10-24 07:15:30
asal
1095 orang telah melayarinya

How to Eliminate Relative Shift in Matplotlib Axis Labels?

Menghapuskan Anjakan Relatif dalam Matplotlib Axis

Apabila memplot data yang melibatkan nombor yang besar, adalah perkara biasa untuk menemui paksi dengan anjakan relatif, mengakibatkan tanda kutu dengan komponen pecahan yang disertai dengan penunjuk magnitud (cth., "1e3"). Ini mungkin tidak intuitif, terutamanya apabila berurusan dengan set data yang lebih kecil.

Untuk menyelesaikan isu ini, Matplotlib menyediakan penyelesaian mudah yang melibatkan konfigurasi objek pemformat utama pada paksi-x:

<code class="python">plot([1000, 1001, 1002], [1, 2, 3])
gca().get_xaxis().get_major_formatter().set_useOffset(False)
draw()</code>
Salin selepas log masuk
Salin selepas log masuk

Dengan menetapkan useOffset kepada False, pemformat diarahkan untuk memaparkan nilai tanda tanpa anjakan relatif. Ini menghasilkan label paksi yang lebih bersih, seperti yang dilihat dalam kod berikut:

<code class="python">plot([1000, 1001, 1002], [1, 2, 3])
gca().get_xaxis().get_major_formatter().set_useOffset(False)
draw()</code>
Salin selepas log masuk
Salin selepas log masuk

Kod ini akan menghasilkan paksi dengan nilai tanda seperti ini:

1000.0  1000.5  1001.0  1001.5  1002.0
Salin selepas log masuk

Sebagai alternatif, dalam versi yang lebih terkini daripada Matplotlib (1.4 ), tingkah laku lalai boleh diubah suai secara global melalui axes.formatter.useoffset rcparam:

rcParams['axes.formatter.useoffset'] = False
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Anjakan Relatif dalam Label Axis Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan