如何使用Matplotlib或python中的其他库设置轴间隔范围

Lor*_*uer 6 python plot matplotlib range

我想在matplotlib生成的图中仅显示x轴上的相关部分 - 使用pyplot包装器库.

问题:如何通过传递间隔范围的元组来强制绘制某些轴位置的截止值,这些元组定义了要绘制的x轴的间隔.理想情况下,截止值应表示为叠加在x轴上的垂直双波符号.

使用xlimaxis没有用,因为它只允许设置x轴的开始和结束,但中间没有间隔:

在此输入图像描述 具体而言,对于上图,60 to 90不应显示之间的x轴区域,并应添加截止/不连续标记标记.

import matplotlib.pyplot as pyplot
x1, x2 = 0, 50
y1, y2 = 0, 100
pyplot.xlim([x1, x2])
#alternatively
pyplot.axis([x1, x2, y1, y2])
Run Code Online (Sandbox Code Playgroud)

使用matplotlib不是必需的.

更新/摘要:

  • Viktor指出这个来源,使用subplots-splitting和两个图来模拟matplotlib/pyplot中的折线图.

在此输入图像描述

Vik*_*kez 5

您在 matplotlib 示例中有一个断轴的示例:断轴

在您的示例中,子图将仅共享 y 轴而不是 x 轴,并且将在 x 轴上设置限制。

条形图示例:

fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
x = [1, 2, 3, 4, 5, 51, 52, 53, 54, 55]
y = [4, 3, 4, 5, 4, 3, 4, 5, 6, 4]
ax1.bar(x, y)
ax2.bar(x, y)

# Fix the axis
ax1.spines['right'].set_visible(False)
ax1.yaxis.tick_left()
ax2.spines['left'].set_visible(False)
ax2.yaxis.tick_right()
ax2.tick_params(labelleft='off')
ax1.set_xlim(1, 6)
ax2.set_xlim(51, 56)
Run Code Online (Sandbox Code Playgroud)


Mik*_*lla -1

如果您使用,matplotlib.pyplot.xticks您可以控制所有标记的位置和值。

这个答案应该告诉你如何去做。