gpt4 book ai didi

matplotlib - 如何使用 matplotlib 绘制点,使它们出现在脊柱顶部?

转载 作者:行者123 更新时间:2023-12-02 16:21:00 26 4
gpt4 key购买 nike

下面生成一个包含三个数据点的图,分别位于 (0, 0)、(0, 0.5) 和 (1, 1)。只有位于绘图区域内的绘图点(小圆圈)部分是可见的,因此我在角落看到四分之一圆,沿左脊柱看到半圆。

我可以使用一个技巧来使所有点完全可见,这样它们就不会被裁剪在轴框架内吗?

from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure

fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.plot([0, 0, 1], [0, 0.5, 1], 'o')
fig.canvas.print_figure('test.png')

编辑:Amro 的建议(显而易见的方法)并不是首选方法,因为这些方法适用于 ROC 图(通常在两个轴上用从 0 到 1 的框绘制)。如果我可以欺骗 matplotlib 生成与 http://www.google.com/search?q=roc+plot 中的许多结果类似的结果它在两个轴上都有一个紧紧围绕 0..1 的盒子,但像许多人一样在轴线顶部绘制了点,这将是最佳的。

编辑2:我猜这可以使用“spine placement ”(MPL 0.99 中的新功能)来完成,按照 Amro 的建议稍微放大绘图区域,然后使用脊柱稍微重新定位以沿两个 0 轴。我会对此进行试验,如果有效的话,我会发布答案,但请随时超越我。

最佳答案

您可以在绘图命令中或在调用“plot”返回的艺术家对象中关闭剪辑。

首先,这是图,带有额外的大符号,因此一目了然:

alt text

在绘图命令中你可以这样做

ax.plot([0, 0, 1], [0, 0.5, 1], 'o', clip_on=False, markersize=20)

或者你可以

p = ax.plot([0, 0, 1], [0, 0.5, 1], 'o', markersize=20)
for m in p:
m.set_clip_on(False)

关于matplotlib - 如何使用 matplotlib 绘制点,使它们出现在脊柱顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com