在matplotlib中更改轴线的长度

Mat*_*att 5 python plot matplotlib

我试图改变matplotlib图的轴的显示长度.这是我目前的代码:

import matplotlib.pyplot as plt
import numpy as np

linewidth = 2
outward = 10
ticklength = 4
tickwidth = 1

fig, ax = plt.subplots()

ax.plot(np.arange(100))

ax.tick_params(right="off",top="off",length = ticklength, width = tickwidth, direction = "out")
ax.spines["top"].set_visible(False), ax.spines["right"].set_visible(False)

for line in ["left","bottom"]:
    ax.spines[line].set_linewidth(linewidth)
    ax.spines[line].set_position(("outward",outward))
Run Code Online (Sandbox Code Playgroud)

其中生成以下图:

在此输入图像描述

我希望我的情节看起来像下面的轴线缩短:

在此输入图像描述

我无法在ax[axis].spines方法中找到它.我也无法使用ax.axhline方法很好地绘制这个.

Pri*_*mer 5

您可以将以下行添加到代码的末尾:

ax.spines['left'].set_bounds(20, 80)
ax.spines['bottom'].set_bounds(20, 80)

for i in [0, -1]:
    ax.get_yticklabels()[i].set_visible(False)
    ax.get_xticklabels()[i].set_visible(False)

for i in [0, -2]:
    ax.get_yticklines()[i].set_visible(False)
    ax.get_xticklines()[i].set_visible(False)
Run Code Online (Sandbox Code Playgroud)

为了得到这个:

在此处输入图片说明