Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用np.arange()在网格上设置X记号,该记号始终显示;0“;在轴线上_Python 2.7_Numpy_Charts - Fatal编程技术网

Python 2.7 使用np.arange()在网格上设置X记号,该记号始终显示;0“;在轴线上

Python 2.7 使用np.arange()在网格上设置X记号,该记号始终显示;0“;在轴线上,python-2.7,numpy,charts,Python 2.7,Numpy,Charts,我有一个小问题,就是不知道怎么做。 问题是我有一个图表,其中我有两个列表中的最小值和最大值,并且只存储了一个值: datamax = [] datamin = [] 所有这些值都是一个整数。 datamin始终为负数。使用以下代码设置X轴的刻度 chrtXticks = np.arange(datamin, datamax, 20) 问题是我总是希望X轴上有“0”。 我试图用以下if语句更改我的datamax和datamin的值,但它不起作用: if datamax <= 60:

我有一个小问题,就是不知道怎么做。 问题是我有一个图表,其中我有两个列表中的最小值和最大值,并且只存储了一个值:

datamax = []
datamin = []
所有这些值都是一个整数。
datamin
始终为负数。使用以下代码设置X轴的刻度

chrtXticks = np.arange(datamin, datamax, 20)
问题是我总是希望X轴上有“0”。 我试图用以下if语句更改我的
datamax
datamin
的值,但它不起作用:

if datamax <= 60:
    datamax = 80
else:
     if datamax > 60:
         datamax = 120
     else:
         if datamax > 120:
             datamax = 220
         else:
             if datamax > 220:
                datamax = 320
             else:
                 if datamax > 320:
                    datamax = 420
如果datamax 60:
数据最大值=120
其他:
如果datamax>120:
数据最大值=220
其他:
如果datamax>220:
数据最大值=320
其他:
如果datamax>320:
datamax=420
我相信有更好的办法。
谢谢你的帮助

你的“如果”不起作用的原因是你永远不会到达终点。
如果datamax大于60,datamax=120,就是这样,即使datamax大于320,它也不会进一步

试着这样写你的if语句:

if datamax <= 60:
    datamax = 80
elif datamax > 320:
    datamax = 420
elif datamax > 220:
    datamax = 320
elif datamax > 120:
    datamax = 220
elif datamax > 60:
    datamax = 120
如果datamax 320:
datamax=420
elif datamax>220:
数据最大值=320
elif datamax>120:
数据最大值=220
elif datamax>60:
数据最大值=120

您可以通过以下方式更改边界:

datamax=(datamax//20+1)*20+1
datamin=(datamin//20)*20
如果要使用任意分辨率,请执行以下操作:

chrtXticks = np.arange((datamin//res)*res, (datamax//res+1)*res+1, res)
理由:

整数除法舍入到较低的值,因此当
47//10=4
时,
-47//10=-5
。因此,正值需要+1才能相乘


将+1添加到最大值中,可以将最大值包含在
np.arange
(否则会将其截断)

嗨,EL3PHANTEN我尝试过这个方法,但由于某种原因没有成功。谢谢你的帮助!:)@user7540763没问题,我不确定它是否能解决您的实际问题,只是在您的if中指出了问题:)