Matplotlib:如何在框架边缘放置x轴和y轴标题,即使原点不在左下角?

Matplotlib:如何在框架边缘放置x轴和y轴标题,即使原点不在左下角?,matplotlib,plot,Matplotlib,Plot,我在绘图时,(0,0)位置不一定在绘图框的左下角,这意味着x轴和y轴及其记号在绘图框内交叉。将线、记号及其值放在框架内是可以的,但如果轴标题离线太近,则会干扰某些数据点的可视化 我只想强制x轴和y轴标题分别位于情节框架的底部和最左侧;简单地“填充”xlabel或ylabel标题是行不通的,因为我需要的填充在不同的绘图中会有所不同 如何始终在打印框的这些一致位置获取标题,即使相应的轴线、刻度/值在打印框空间中可能不同? 非常感谢。 我想在这里补充一点。在我看来,可以直接从数据范围定义xlabel

我在绘图时,(0,0)位置不一定在绘图框的左下角,这意味着x轴和y轴及其记号在绘图框内交叉。将线、记号及其值放在框架内是可以的,但如果轴标题离线太近,则会干扰某些数据点的可视化

我只想强制x轴和y轴标题分别位于情节框架的底部和最左侧;简单地“填充”xlabel或ylabel标题是行不通的,因为我需要的填充在不同的绘图中会有所不同

如何始终在打印框的这些一致位置获取标题,即使相应的轴线、刻度/值在打印框空间中可能不同?

非常感谢。
  • 我想在这里补充一点。在我看来,可以直接从数据范围定义xlabel和ylabel‘labelpad’值:
例如,可以找到最小y值的最小x值(这将设置x轴标签的位置),以及最小x值的最小x值(这将设置y轴标签的位置):

然后将xlabel和ylabel参数中的这些值用作LabelPad:

    pylab.xlabel("X Title", fontsize=12, labelpad=abs(xpad))
    pylab.ylabel("Y Title", fontsize=12, labelpad=abs(ypad))

不幸的是,labelpad似乎不能接受变量。有什么建议可以解决问题吗?

我很难理解您到底想实现什么目标。你可以发布你的代码和它的外观图片,或者另一个关于你希望它的外观。(对于后者,你可以使用一些绘画程序,只是为了获得一个粗略的想法)。我很难理解你到底想要实现什么。你可以发布你的代码和它的外观图片,或者另一个关于你希望它的外观。(对于后者,您可以使用一些绘画程序,只是为了获得一个粗略的想法)。
    pylab.xlabel("X Title", fontsize=12, labelpad=abs(xpad))
    pylab.ylabel("Y Title", fontsize=12, labelpad=abs(ypad))