这是我的数据结构:
这是一个将经纬度坐标转换为弧度的numpy数组。
我在设置matplot-figure的x和y轴限制/边界时遇到了问题。我尝试了
而
这是我的代码:
我完全理解您的问题,但边框太多了。几乎有一半的绘图区域没有显示数据:
print("test_data: " + str(test_data))
#test_data: [[-1.3869276 0.76189806]
# [-1.3870304 0.76177611]
# [-1.38695643 0.76194005]
# ...,
# [-1.38663699 0.76174211]
# [-1.38670514 0.76161662]
# [-1.3865974 0.76163099]]
这是一个将经纬度坐标转换为弧度的numpy数组。
我在设置matplot-figure的x和y轴限制/边界时遇到了问题。我尝试了
set_xlim()
/set_ylim()
和set_xbound()
/set_ybound()
,但结果并不令人满意:
set_xlim()
和set_ylim()
会导致我的数据显示变形:
![enter image description here](https://istack.dev59.com/tVHPH.webp)
set_xbound()
和set_ybound()
则缩得太多(并进一步裁剪了y轴的标签):
![enter image description here](https://istack.dev59.com/xI3qy.webp)
test_data = np.radians(points)
#get max data extent
limXMin = np.max(test_data[0])
limXMax = np.max(test_data[1])
limYMax = np.min(test_data[0])
limYMin = np.min(test_data[1])
#print max data extent:
print(limXMin)
print(limXMax)
print(limYMin)
print(limYMax)
#0.761924200543
#0.761882818787
#-1.38701148104
#-1.3868174877
#create figure
fig = plt.figure(figsize=(11, 8), dpi=80)
#print current extent
print(str(plt.xlim()))
print(str(plt.ylim()))
#(0.0, 1.0)
#(0.0, 1.0)
ax = fig.add_subplot(1,1,1) # 1 Row, 1 Column and the first axes in this grid
plt.scatter(test_data.T[0], test_data.T[1], color='b', **plot_kwds)
#modify extent (Fig.1)
ax.set_xlim([limXMin, limXMax])
ax.set_ylim([limYMin, limYMax])
#modify extent (Fig.2)
ax.set_xbound(limXMin, limXMax)
ax.set_ybound(limYMin, limYMax)
ax.figure.savefig(pathname + '/graph_1.png')
相反,如果我做这个:
plt.figure(figsize=(11, 8), dpi=80)
plt.autoscale(enable=True)
fig = plt.scatter(test_data.T[0], test_data.T[1], color='b', **plot_kwds)
fig.figure.savefig(pathname + '/graph_1.png')
我完全理解您的问题,但边框太多了。几乎有一半的绘图区域没有显示数据: