Я использую ax.axes('equal')
, чтобы сделать расстояние оси равным по X и Y, а также установить xlim
и ylim
. Это сдерживает проблему, и фактические лимиты не то, что я установил в ax.set_xlim()
или ax.set_ylim()
. Использование ax.get_xlim()
просто возвращает то, что я предоставил. Как я могу получить реальные видимые пределы сюжета?Как я могу получить фактические пределы оси при использовании ax.axis ('equal')?
f,ax=plt.subplots(1) #open a figure
ax.axis('equal') #make the axes have equal spacing
ax.plot([0,20],[0,20]) #test data set
#change the plot axis limits
ax.set_xlim([2,18])
ax.set_ylim([5,15])
#read the plot axis limits
xlim2=array(ax.get_xlim())
ylim2=array(ax.get_ylim())
#define indices for drawing a rectangle with xlim2, ylim2
sqx=array([0,1,1,0,0])
sqy=array([0,0,1,1,0])
#plot a thick rectangle marking the xlim2, ylim2
ax.plot(xlim2[sqx],ylim2[sqy],lw=3) #this does not go all the way around the edge
Какие команды позволят мне нарисовать зеленую рамку вокруг фактических краев фигуры?
Похожие: Force xlim
, ylim
, and axes('equal')
at the same time by letting margins auto-adjust
Я могу получить уведомление об изменении 'ylim'' ax.callbacks.connect ('ylim_changed', ylim_ch) ', но он все равно возвращает значение, указанное' set_ylim', а не то, что показано. См. Http://stackoverflow.com/questions/31490436/matplotlib-finding-out-xlim-and-ylim-after-zoom –