【发布时间】:2018-03-07 13:48:58
【问题描述】:
我尝试在rotation=90 中用它的 y 轴值 (yy) 标记我的条形图,但一些低值超出了框架我的xx 是从 0 到 5 的 x 轴值。
ax_actsumbar.annotate('{:.2e}'.format(yy), xy=(xx+0.5, yy), xycoords='data', \
rotation=90)
如何限制框内的注解?因此,每个条的注释都在条旁边,但不会越过框架。我找到了.get_window_extent 并尝试应用它,但还没有奏效。
_actsumbar = ax_actsumbar.annotate('{:.2e}'.format(yy), xy=(xx+0.5, yy), xycoords='data', \
rotation=90)
_actsumbar = ax_actsumbar.annotate('{:.2e}'.format(yy), xy=(xx+0.5, yy), \
xycoords=_actsumbar.get_window_extent, rotation=90)
【问题讨论】:
-
我猜你忘了告诉你的要求。例如。为了将注释保留在轴内,只需将它们的下角放在数据坐标中的 0 处即可。但这就是你所追求的吗?没人知道。
-
@ImportanceOfBeingErnest 我更新了这个问题。是的,你能指导一下如何设置数据坐标的角吗?我正在查看文档,数据坐标的参数似乎是“图形点”或“轴点”之类的东西。这是你提到的吗?
-
我的意思是你需要说出你想要达到的目标。标签应该在哪里?为了让它们进入绘图,只需将 y 坐标设置为零,
xy=(xx+0.5, 0), va="bottom"。
标签: python python-2.7 matplotlib annotations