我不希望 (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
接下来我应该尝试什么?
set_bounds
方法。来自文档:
set_bounds(low=None, high=None)
设置书脊边界。
参数:
浮动或无,可选low
脊柱下界。通过 没有一个保持限制不变。边界也可以作为 元组(低,高)作为第一个位置参数。
浮动或无,可选high
较高的脊柱界限。没有通过就留下了限制 不变。
所以对于你的情节,你可以使用
ax.spines['bottom'].set_bounds(4)
只需将下限更改为 4。如果您还想更改上限,您可以使用类似以下内容:
ax.spines['bottom'].set_bounds(4, 9)