如何在散点图上仅显示x轴脊柱的一部分?

问题描述 投票:0回答:1

我不希望 (0,0) 和 (0,4) 之间的 x 轴脊柱显示在下面的散点图上。我仍然想要图表上的距离,我只是不希望脊柱显示在这些坐标之间。

import matplotlib.pyplot as plt
x = range(4,10)
y=x
fig, ax = plt.subplots()
ax.scatter(x=x, y=y)
ax.set_xlim(left=0, right=10)
ax.set_xticks(x)
plt.show()

理想情况是这样的:

ax.spines['bottom'].set_visible([4:])

但它会产生

SyntaxError: invalid syntax

这隐藏了整行:

ax.spines['bottom'].set_visible(False)

我尝试过set_position()

ax.spines['bottom'].set_position('data',4)

但我只能收到错误消息。如果我提供一个参数,它会说这还不够,但当我提供两个时,它会抱怨太多:

TypeError: Spine.set_position() takes 2 positional arguments but 3 were given

接下来我应该尝试什么?

python matplotlib scatter-plot x-axis
1个回答
0
投票

您可以使用脊柱的

set_bounds
方法。来自文档:

set_bounds(low=None, high=None)

设置书脊边界。

参数:

low
浮动或无,可选

脊柱下界。通过 没有一个保持限制不变。边界也可以作为 元组(低,高)作为第一个位置参数。

high
浮动或无,可选

较高的脊柱界限。没有通过就留下了限制 不变。

所以对于你的情节,你可以使用

ax.spines['bottom'].set_bounds(4)

只需将下限更改为 4。如果您还想更改上限,您可以使用类似以下内容:

ax.spines['bottom'].set_bounds(4, 9)
© www.soinside.com 2019 - 2024. All rights reserved.