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

Bagaimana untuk Menghapuskan Anjakan Relatif dalam Label Axis Matplotlib?

Barbara Streisand
Barbara Streisandasal
2024-10-24 07:15:30994semak imbas

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>

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>

Kod ini akan menghasilkan paksi dengan nilai tanda seperti ini:

1000.0  1000.5  1001.0  1001.5  1002.0

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

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!

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