python画图时,怎么设置坐标轴的单位长度?

比如我画了一个指数函数和y=x的图像,画出来之后,y=x与x轴的夹角明显不是45度了
其实是x轴与y轴单位长度不一样的缘故,这个应该怎么设置啊

plt.axis('equal')

 from pylab import *
from matplotlib.ticker import MultipleLocator, FormatStrFormatter


%matplotlib inline

xmajorLocator   = MultipleLocator(2) #将x主刻度标签设置为20的倍数
xmajorFormatter = FormatStrFormatter('%1.1f') #设置x轴标签文本的格式
xminorLocator   = MultipleLocator(1) #将x轴次刻度标签设置为5的倍数

ymajorLocator   = MultipleLocator(2) #将y轴主刻度标签设置为0.5的倍数
ymajorFormatter = FormatStrFormatter('%1.1f') #设置y轴标签文本的格式
yminorLocator   = MultipleLocator(1) #将此y轴次刻度标签设置为0.1的倍数

t = arange(0.0, 10.0, 1)
s = arange(0.0, 10.0, 1)


ax = subplot(111) #注意:一般都在ax中设置,不再plot中设置

plt.rcParams["figure.figsize"] = [6.4, 6.4]

matplotlib.pyplot.figure(figsize=None)

plot(t,s,'--b*')

#设置主刻度标签的位置,标签文本的格式
ax.xaxis.set_major_locator(xmajorLocator)
ax.xaxis.set_major_formatter(xmajorFormatter)

ax.yaxis.set_major_locator(ymajorLocator)
ax.yaxis.set_major_formatter(ymajorFormatter)

#显示次刻度标签的位置,没有标签文本
ax.xaxis.set_minor_locator(xminorLocator)
ax.yaxis.set_minor_locator(yminorLocator)

ax.xaxis.grid(True, which='major') #x坐标轴的网格使用主刻度
ax.yaxis.grid(True, which='minor') #y坐标轴的网格使用次刻度

show()

前面的回答是设置刻度的方法,而楼主想问的是怎么设置单位长度,这个我也没找到。给楼主一个简单的办法,程序运行以后不是会跳出图像窗口吗,人工用鼠标拉伸窗口的边框,直到x和y方向单位长度一样就行啦。

图片说明