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

Bagaimana untuk Menghapuskan Anjakan Relatif dalam Label Tick Matplotlib untuk Nombor Besar?

Susan Sarandon
Susan Sarandonasal
2024-10-24 06:58:30904semak imbas

How to Eliminate Relative Shift in Matplotlib's Tick Labels for Large Numbers?

Mengalih keluar Anjakan Relatif dalam Matplotlib Axis

Memplot melawan nombor besar dalam Matplotlib boleh menghasilkan paksi dengan anjakan relatif untuk label tanda. Untuk menggambarkan, pertimbangkan plot berikut:

plot([1000, 1001, 1002], [1, 2, 3])

Ini menghasilkan kutu pada paksi absis seperti berikut:

0.0     0.5     1.0     1.5     2.0
+1e3

Untuk menghapuskan label " 1e3" dan mendapatkan label tanda bagi borang "1000.0", "1001.0", dsb., ikut langkah berikut:

  1. Dapatkan paksi semasa menggunakan gca().
  2. Dapatkan objek paksi-x menggunakan get_xaxis() .
  3. Dapatkan semula objek pemformat utama menggunakan get_major_formatter().
  4. Tetapkan atribut useOffset pemformat kepada False menggunakan set_useOffset(False).
  5. Panggil draw() untuk mengemas kini plot.

Sebagai alternatif, dalam versi Matplotlib (1.4 ), tingkah laku lalai boleh diubah suai melalui axes.formatter.useoffset rcparam:

matplotlib.rcParams['axes.formatter.useoffset'] = False

Dengan menggunakan ini kaedah, anda boleh mengalih keluar anjakan relatif dalam paksi dan mendapatkan label tanda dalam format yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Anjakan Relatif dalam Label Tick Matplotlib untuk Nombor Besar?. 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