图形:轮廓、箭头和命名

2024-04-20 03:48:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须画一些图形(最好是pyplot,但不是强制性的),但要以一种非常具体的方式。下面是我想要的一个例子:

example

我已经知道如何使用pyplot来获得我想要的大多数东西。 我不知道的是:

  • 如何命名这些图形?(A、B、C、D……)。我也希望能够设置字母的位置,就像在图片上一样。在左上角。

  • 有没有一种方法可以像图片上那样包含一个轴的箭头?我对这个没什么希望。也许我可以在轴心国的传说中使用乳胶,并加上类似\箭头的东西?


Tags: 方法图形字母方式图片箭头命名例子
1条回答
网友
1楼 · 发布于 2024-04-20 03:48:06
  1. 移除右侧和顶部的轴脊椎:

    要移除右侧和顶部的脊椎,可以调用:

    for spine_loc in ('top', 'right'):
        ax.spines[spine_loc].set_visible(False)
    

    接下来,您需要调用这些函数来删除勾号:

    ax.yaxis.set_ticks_position('left')
    ax.xaxis.set_ticks_position('bottom')
    
  2. 要设置标题的位置,可以使用axis title实例的set_position方法:

    title = ax.set_title('test')
    title.set_position([-0.1, 1])
    

    坐标似乎是axes fraction,我还没有找到一种方法来指定figure fraction或任何其他常见的选项,例如ax.annotate。但是这会让你到达你想要去的地方,这也是有意义的,因为这里的标题链接到一个Axis实例,而不是一个图形窗口。

  3. 添加箭头以指示坐标增加的方向: 箭头可以很容易地绘制出来,只需使用annotate并指定arrowprops,而字符串为空。通过为xycoordstextcoords指定正确的选项,生成的箭头可以定位在任何位置,甚至轴之外。 不过,您可以很容易地为xlabel(或ylabel)指定乳胶中的上划线箭头:

    ax.set_xlabel(r'$\overrightarrow{X} (\mu{m})$')
    

    但我认为这并不是你想要的,因为箭头似乎只表示那些图中纵坐标增加的方向。在这种情况下,箭头是chartjunk,但这是你的选择。

您还应该看看matplotlib中的axisline example,它展示了如何使用SubplotZero类。这使得两个脊椎在(0,0)相交相对容易,就像我们大多数人在高中时习惯的那样。这个例子还解决了这里描述的问题(1)和(3)。在

相关问题 更多 >