Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencipta paksi X tidak berterusan dalam Matplotlib?

Bagaimana untuk Mencipta paksi X tidak berterusan dalam Matplotlib?

DDD
DDDasal
2024-11-27 04:55:10498semak imbas

How to Create a Discontinuous X-axis in Matplotlib?

Mencipta Paksi Tak Berterusan dalam Matplotlib

Dalam Matplotlib, adalah mungkin untuk mengubah suai rupa paksi-x untuk menunjukkan ketakselanjaran antara dua julat nilai.

Menyesuaikan Paksi

Selagi ada tiada cara langsung untuk mencipta paksi terputus, anda boleh mencapai kesan yang sama dengan menyesuaikan label dan penampilan paksi. Satu pendekatan ialah menggunakan transformasi tersuai untuk mencipta paksi terputus.

Subplot

Jika anda memilih untuk tidak membuat transformasi tersuai, anda boleh menggunakan subplot untuk mencapai kesan yang diingini. Dengan mencipta dua subplot dengan had paksi-x yang berbeza dan menyembunyikan duri di antaranya, anda boleh mensimulasikan paksi terputus.

Contoh

import matplotlib.pyplot as plt
import numpy as np

x = np.r_[0:1:0.1, 9:10:0.1]
y = np.sin(x)

fig, (ax, ax2) = plt.subplots(1, 2, sharey=True)

ax.plot(x, y, 'bo')
ax2.plot(x, y, 'bo')

ax.set_xlim(0, 1) 
ax2.set_xlim(9, 10) 

ax.spines['right'].set_visible(False)
ax2.spines['left'].set_visible(False)
ax.yaxis.tick_left()
ax2.yaxis.tick_right()

plt.subplots_adjust(wspace=0.15)

plt.show()

Kod ini mencipta plot dengan dua subplot, setiap satu menunjukkan julat nilai-x yang berbeza. Pertindihan antara subplot disembunyikan untuk mencipta rupa paksi terputus.

Kesan Pecah

Untuk menambah kesan garis paksi putus (//), anda boleh menggunakan kod berikut:

ax.plot((1-d,1+d),(-d,+d), **kwargs) # top-left diagonal
ax.plot((1-d,1+d),(1-d,1+d), **kwargs) # bottom-left diagonal

kwargs.update(transform=ax2.transAxes) # switch to the bottom axes
ax2.plot((-d,d),(-d,+d), **kwargs) # top-right diagonal
ax2.plot((-d,d),(1-d,1+d), **kwargs) # bottom-right diagonal

di mana d mewakili saiz garis pepenjuru dalam koordinat paksi. Kod ini menambahkan garisan pepenjuru pada penjuru setiap paksi, memberikan kesan paksi patah.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta paksi X tidak berterusan dalam 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