ホームページ > バックエンド開発 > Python チュートリアル > サブプロットを使用して Matplotlib で不連続な X 軸を作成する方法

サブプロットを使用して Matplotlib で不連続な X 軸を作成する方法

Barbara Streisand
リリース: 2024-12-18 01:45:10
オリジナル
823 人が閲覧しました

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

Matplotlib の不連続軸

Matplotlib で不連続な X 軸を作成すると、データ内の大きなギャップの可視性が向上します。カスタム変換は効率的なアプローチですが、サブプロットを利用すると、目的の不連続性を簡単に実現できます。

1 つの方法では、2 つのサブプロットを使用して、Y 軸の位置合わせを共有します。データのさまざまな部分にズームインし、X 軸の範囲を調整して特定のセクションに焦点を当てます。サブプロット間のスパインを非表示にし、目盛りの方向を調整することで、不連続性を作成できます。

より視覚的に印象的な破断軸効果を得るには、対角線を追加できます。希望する対角サイズを軸座標で指定します。クリッピングを無効にし、各対角線が軸の正しい隅に収まるように適切な変換を設定します。この方法を利用すると、サブプロット間のスペースの変化に応じて対角線が動的に調整されます。

これらの手法を組み込んだコード例を次に示します。

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()
ログイン後にコピー

以上がサブプロットを使用して Matplotlib で不連続な X 軸を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート