百科问答小站 logo
百科问答小站 font logo



matplotlib怎么强制让坐标轴和网格线重叠? 第1页

  

user avatar   morder-fox 网友的相关建议: 
      

先确认下,如果题主采用的是直角坐标系,这个 (2,0) 为什么会变为“原点”,还是你想说的是 (0,2)?我就假设你是想说(0,2)好了。那么下一个问题是:为啥你要把“原点”放到 (0,2)?

你可能会说:因为对 的所有区域内,都没有有效点了呀。所以你的判断依据其实是:该点集的x/y方向上的最小值向下取整,作为原点。可以自定义这个边界值写一个函数来实现

       import math def get_lim(dataset):     return (math.floor(min(dataset['x']), math.floor(min(dataset['y']))     

至于这个为什么对不齐,因为matplotlib本身会留一个边界,让图表显示的美观一点。这个在默认的设置里面我好像没有找到,不过,就算找到了,你一样要用一个函数来自定义边界。因为,你在这个例子里可以定义 (0, 2),但是你自己也说了XY范围不定,那我(程序)怎么知道你下个数据集的边界要放在哪里?

顺带,除了plt.xlim()来设置以外,也可以对Axes对象用Axes.axis([x0, y0, x1, y1])来实现。

当然了,还有很多其他的办法来实现。比如0这个位置之所以有网格,是因为0这个位置有一个xticksxtickslabels对象,而所谓的xy轴,其实是Spine对象 。你也可以人为设置xticksSpine出现的位置,并令它们重合即可。




  

相关话题

  如何看待 PyPy 与 Pyston 的未来? 
  如何评价 Python 基础知识难度大吗? 
  大家都是用什么软件绘制科学引文索引(SCI)插图的? 
  现在为什么 Python 这么火? 
  参加数学建模用 MATLAB,还是 Python? 
  可以自学Python吗? 
  大家都是用什么软件绘制科学引文索引(SCI)插图的? 
  不同编程语言的程序员之间有鄙视链么? 
  如何让停留在语法层面的 C++,变成实际工程中的 C++? 
  在线教育网站(Coursera、网易云课堂、腾讯课堂等)有哪些值得推荐的 Python 课程? 

前一个讨论
教育自己的孩子时,你首先会让他懂得哪些简单的道理?
下一个讨论
小孩今年七岁上一年级,性格倔强,被老师批评总是昂着头,被认为是不尊重老师,老师一直针对他,该怎么办?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利