Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencipta X-Axes Tidak Berterusan dalam Matplotlib Menggunakan Subplot?

Bagaimana untuk Mencipta X-Axes Tidak Berterusan dalam Matplotlib Menggunakan Subplot?

Barbara Streisand
Lepaskan: 2024-12-18 01:45:10
asal
823 orang telah melayarinya

How to Create Discontinuous X-Axes in Matplotlib Using Subplots?

Paksi Terputus dalam Matplotlib

Mencipta paksi x terputus dalam Matplotlib boleh meningkatkan keterlihatan jurang yang ketara dalam data. Walaupun transformasi tersuai ialah pendekatan yang cekap, menggunakan subplot boleh mencapai ketakselanjaran yang diingini dengan mudah.

Satu kaedah melibatkan penggunaan dua subplot, berkongsi penjajaran paksi-y. Zum ke bahagian data yang berbeza dan laraskan had paksi-x untuk memfokus pada bahagian tertentu. Dengan menyembunyikan duri di antara subplot dan melaraskan orientasi kutu, anda boleh mencipta ketakselanjaran.

Untuk kesan paksi patah yang lebih menarik secara visual, garisan pepenjuru boleh ditambah. Nyatakan saiz pepenjuru yang dikehendaki dalam koordinat paksi. Lumpuhkan keratan dan tetapkan penjelmaan yang sesuai untuk setiap garisan pepenjuru untuk memastikan ia berada dalam sudut yang betul pada paksi. Dengan menggunakan kaedah ini, garisan pepenjuru akan melaraskan secara dinamik apabila ruang antara subplot berubah.

Berikut ialah contoh kod yang menggabungkan teknik ini:

import matplotlib.pyplot as plt
import numpy as np

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

# Create subplots and set x-axis limits
fig, (ax, ax2) = plt.subplots(1, 2, sharey=True)
ax.set_xlim(0, 1)
ax2.set_xlim(9, 10)

# Plot data and hide spines
ax.plot(x, y, 'bo')
ax2.plot(x, y, 'bo')
ax.spines['right'].set_visible(False)
ax2.spines['left'].set_visible(False)
ax.yaxis.tick_left()
ax.tick_params(labeltop='off')
ax2.yaxis.tick_right()

# Adjust spacing and add diagonal lines
plt.subplots_adjust(wspace=0.15)

# Define diagonal line parameters
d = .015
kwargs = dict(transform=ax.transAxes, color='k', clip_on=False)
ax.plot((1 - d, 1 + d), (-d, +d), **kwargs)
ax.plot((1 - d, 1 + d), (1 - d, 1 + d), **kwargs)
kwargs.update(transform=ax2.transAxes)
ax2.plot((-d, d), (-d, +d), **kwargs)
ax2.plot((-d, d), (1 - d, 1 + d), **kwargs)

plt.show()
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencipta X-Axes Tidak Berterusan dalam Matplotlib Menggunakan Subplot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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