我在用Python复制一些R代码。
我被R的pretty()
绊倒了。
我只需要pretty(x)
,其中x
是某个数字。
粗略地说,这个函数“计算漂亮的断点”是几个“取整”值的序列。我不确定是否有Python的等价物,我在Google上也没有什么运气。
编辑:更具体地说,这是pretty
帮助页面中的描述条目:
说明:计算一系列大约n+1个等间距的“舍入”值,这些值覆盖了x中的值的范围。选择这些值,使它们是10的幂的1、2或5倍。
我查看了R的pretty.default()
,想知道R到底在用这个函数做什么,但它最终使用了.Internal()
--这通常会导致黑暗R魔法。
有人知道Python是否有等价于R的pretty()
的东西吗?
4条答案
按热度按时间0s7z1bwu1#
我认为刘易斯Fogden发布的伪代码看起来很熟悉,我们确实曾经用C++编写过一个绘图例程的伪代码(用于确定 pretty 轴标签)。我很快将其翻译成Python,不确定这是否与R中的
pretty()
相似,但我希望它对任何人都有帮助或有用。这产生例如:
【0.5 1. 1. 5 2. 2. 5 3.】
【0.5、10、15、20、25、30】
【0.50,100,150,200,250,300。】
【0.500,1000,1500,2000,2500,3000。】
nzkunb0c2#
它不像R中那样优雅,但您仍然可以使用numpy:
其中
a
是范围的开始,b
是结束,n
是值的数目,而输出类型是int
。例如:
数组([ 0,1,2,3,4,5,6,7,8,9,10])
当然,如果你想让它更优雅,你可以把它包起来:
odopli943#
那纳比怎么办?
$ [ 0 3 6 9 12 15]
7z5jn7bk4#
下面是一些python代码,它们的作用与R几乎相同,除了
x
的范围为零或非常小的情况: