gpt4 book ai didi

python - 如何使 x,y 轴出现在 python matplotlib 中的轴中

转载 作者:行者123 更新时间:2023-11-28 20:17:56 24 4
gpt4 key购买 nike

我有一个文本文件(我在运行期间使用 np.savetxt 函数提取的)_anchors.out

-84 -40 99 55
-176 -88 191 103
-360 -184 375 199
-56 -56 71 71
-120 -120 135 135
-248 -248 263 263
-36 -80 51 95
-80 -168 95 183
-168 -344 183 359

这些是以点 7.5 为中心的 9 个方框。我可以使用下面的代码(qq.py)看到这些框

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches

b = np.loadtxt('_anchors.out','int')
fig1 = plt.figure()
ax1 = fig1.add_subplot(111, aspect='equal')
ax1.set_xbound(-400,400)
ax1.set_ybound(-400,400)
for x1,y1,x2,y2 in b:
ax1.add_patch(patches.Rectangle((x1,y1), x2-x1, y2-y1,fill=False))
fig1.show()

数字是graph with no axis
但我想同时看到 X 轴和 Y 轴(不是 matplotlib 术语中的“轴”)。我已经搜索了一些解决方案,但我不清楚。我应该如何修改上面的代码? (您可以使用 ipython 检查它。运行 ipython,然后在内部键入“run qq.py”)

下面是我想看的(添加了X和Y轴)here

最佳答案

按照文档 here您可以使用以下代码实现此目的:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches

b = np.loadtxt('_anchors.out','int')
fig1 = plt.figure()
ax1 = fig1.add_subplot(111, aspect='equal')
ax1.set_xbound(-400,400)
ax1.set_ybound(-400,400)
for x1,y1,x2,y2 in b:
ax1.add_patch(patches.Rectangle((x1,y1), x2-x1, y2-y1,fill=False))

#Change spine position
ax1.spines['left'].set_position('center')
ax1.spines['right'].set_color('none')
ax1.spines['bottom'].set_position('center')
ax1.spines['top'].set_color('none')
ax1.spines['left'].set_smart_bounds(True)
ax1.spines['bottom'].set_smart_bounds(True)
ax1.xaxis.set_ticks_position('bottom')
ax1.yaxis.set_ticks_position('left')

#Show figure
fig1.show()

给予:

enter image description here

关于python - 如何使 x,y 轴出现在 python matplotlib 中的轴中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38602216/

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