Python函数相当于R的`pretty()`?
我在
Python中复制一些R代码.
我惹恼了R的漂亮(). 我需要的只是漂亮(x),其中x是一些数字. 粗略地说,函数“计算漂亮的断点”作为几个“圆”值的序列.我不确定是否有Python等价物,而且我对Google没有太多运气. 编辑:更具体地说,这是漂亮的帮助页面中的描述条目:
我查看了R的pretty.default(),看看R究竟在做什么,但最终使用的是.Internal() – 这通常会导致黑暗R魔法.我以为在潜入之前我会问一下. 有谁知道Python是否有与R’s pretty()相同的东西? 解决方法
我认为Lewis Fogden发布的伪代码看起来很熟悉,我们确实曾在C中用伪代码编写了一个绘图例程(用于确定漂亮的轴标签).我很快将它翻译成Python,不确定它是否与R中的pretty()类似,但我希望它对任何人都有帮助或有用.
import numpy as np def nicenumber(x,round): exp = np.floor(np.log10(x)) f = x / 10**exp if round: if f < 1.5: nf = 1. elif f < 3.: nf = 2. elif f < 7.: nf = 5. else: nf = 10. else: if f <= 1.: nf = 1. elif f <= 2.: nf = 2. elif f <= 5.: nf = 5. else: nf = 10. return nf * 10.**exp def pretty(low,high,n): range = nicenumber(high - low,False) d = nicenumber(range / (n-1),True) miny = np.floor(low / d) * d maxy = np.ceil (high / d) * d return np.arange(miny,maxy+0.5*d,d) 这产生了例如: pretty(0.5,2.56,10) pretty(0.5,25.6,256,10 ) pretty(0.5,2560,10)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |