在 Matplotlib 中,可以修改 x 轴的外观以指示两个值范围之间的不连续性。
虽然没有直接的方法来创建对于不连续轴,您可以通过自定义轴标签和外观来实现类似的效果。一种方法是使用自定义变换来创建不连续轴。
如果您不想创建自定义变换,可以使用子图来实现所需的效果。通过创建两个具有不同 x 轴限制的子图并隐藏它们之间的脊柱,您可以模拟不连续的轴。
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()
此代码创建一个包含两个子图的图,每个子图显示不同范围的 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中文网其他相关文章!