百科问答小站 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出现的位置,并令它们重合即可。




  

相关话题

  非计算机系学Python有什么建议? 
  为什么很多程序员不用 switch,而是大量的 if...else if ...? 
  Python中一个字符串的所有字母用它的后继字母代替(比如,a用b代替,b用c代替),怎么搞? 
  Python 的练手项目有哪些值得推荐? 
  如何实现 C/C++ 与 Python 的通信? 
  Python 2 和 Python 3 有哪些主要区别? 
  我女儿刚刚学会走路,我是否该在她会识字后就立马教她Python? 
  为什么有人说 Python 的多线程是鸡肋呢? 
  Top2博士毕业,几乎不会编程,没写过python,是不是人生没有希望了? 
  为什么 Dropbox 等大型服务使用 Python 作为主要语言,即使它的效率比其他编译型语言低几个数量级? 

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





© 2025-04-12 - tinynew.org. All Rights Reserved.
© 2025-04-12 - tinynew.org. 保留所有权利