Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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
R ggpot2:等距值之间的空间轴刻度不均匀_R_Ggplot2_Data Visualization_Axis - Fatal编程技术网

R ggpot2:等距值之间的空间轴刻度不均匀

R ggpot2:等距值之间的空间轴刻度不均匀,r,ggplot2,data-visualization,axis,R,Ggplot2,Data Visualization,Axis,我已经搜索了SO和其他在线资源,但没有结果 是否有办法缩放轴,使z分数更好地反映从0到1和从1到2的实际差异(或任何其他等距分数) 如果我有一个z分数在-3到3之间的x轴,并且每个整数之间都有轴记号,有没有办法让那些接近0的轴记号的间距小于那些更远的轴记号的间距 例如: -3 -2 -1 0 1 2 3 |----------|------|--|--|------|----------| 我是否缺少一些轴缩放方法,该方法既接受打断作为值,

我已经搜索了SO和其他在线资源,但没有结果

是否有办法缩放轴,使z分数更好地反映从0到1和从1到2的实际差异(或任何其他等距分数)

如果我有一个z分数在-3到3之间的x轴,并且每个整数之间都有轴记号,有没有办法让那些接近0的轴记号的间距小于那些更远的轴记号的间距

例如:

-3        -2     -1  0  1      2          3
|----------|------|--|--|------|----------|
我是否缺少一些轴缩放方法,该方法既接受打断作为值,也接受打断相对于整个比例的位置

编辑:

可能不太像reprex,但这是数据结构和可视化的基本方法:

df <-
  data.frame(
    metric = c('metric1', 'metric2', 'metric3'),
    z_score = c(2, -1.5, 2.8)
  )

df %>%
  ggplot(aes(x = metric, y = z_score)) +
  geom_col() +
  coord_flip() +
  ylim(-4,4)
df%
ggplot(aes(x=度量,y=z_分数))+
geom_col()+
coord_flip()+
ylim(-4,4)

上面的代码生成了一个图,其中z_分数轴具有均匀间隔的断点,而我希望断点“拉”向零,就像我试图在上面绘制的那样。

您所描述的似乎与模数转换相对应,但我不知道如何选择正确的参数来获得您想要的精确变换

以下是一个例子:

库(ggplot2)
图书馆(比例尺)

df这个技巧是使用一个新的
trans
formation对象。在
量表中已经定义了几个量表::
,我发现的最接近的量表(虽然在某种意义上它是相反的)是:

ggplot(df,aes(x=metric,y=z_分数))+
geom_col()+
coord_flip()+
连续缩放(trans=缩放::伪对数平移(0.2,2),
极限=c(-3,3),断裂=3:3)

但我想你想要的是相反的扩展。由于查看
pseudo_log
相反方向的一种方法是
pseudo_exp
,而我没有找到,因此尝试如下:


pseudo\u exp\u trans你有可复制的例子吗?我没有玩过
modules\u trans
来让它工作,很好。(如果我早些时候看了它的源代码,我就不会在下面写我自己的了。很好。)这只是scales包中转换的反复试验的结果。我希望我能把它作为一种更理智的努力来推销,但唉!实验很有智慧。