ホームページ >バックエンド開発 >Python チュートリアル >Matplotlib で不連続な X 軸を作成するには?

Matplotlib で不連続な X 軸を作成するには?

DDD
DDDオリジナル
2024-11-27 04:55:10496ブラウズ

How to Create a Discontinuous X-axis in Matplotlib?

Matplotlib での不連続軸の作成

Matplotlib では、X 軸の外観を変更して、2 つの値の範囲間の不連続性を示すことができます。

軸のカスタマイズ

不連続な軸を直接作成する方法と同様に、軸のラベルと外観をカスタマイズすることで同様の効果を実現できます。 1 つの方法は、カスタム変換を使用して不連続な軸を作成することです。

サブプロット

カスタム変換を作成したくない場合は、サブプロットを使用して目的の効果を実現できます。 X 軸の範囲が異なる 2 つのサブプロットを作成し、それらの間のスパインを非表示にすることで、不連続な軸をシミュレートできます。

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()

このコードは、それぞれ 2 つのサブプロットを持つプロットを作成します。異なる範囲の X 値を示しています。サブプロット間の重なりは、不連続な軸の外観を作成するために非表示になります。

破断効果

破断した軸線 (//) 効果を追加するには、次のコードを使用できます。

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

ここで、d は座標軸の対角線のサイズを表します。このコードは、各軸の角に対角線を追加し、壊れた軸の印象を与えます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。