qq_42689684
夏天的鼻涕怪
2018-09-22 12:12
采纳率: 100%
浏览 11.5k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • qq_42689684
    夏天的鼻涕怪 2018-10-05 03:54
    已采纳

    plt.axis('equal')

    点赞 7 评论
  • cjk_cjk
    cjk_cjk 2018-09-23 10:29

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

    点赞 2 评论
  • caozhy
     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()
    
    点赞 1 评论
  • caozhy

    图片说明

    点赞 评论

相关推荐