ggplot2通过常数因子转换轴 [英] ggplot2 axis transformation by constant factor
问题描述
在ggplot2密度图(geom_density)中,我有以下y轴标签
- 0.000
- 0.005
- 0.010
- 0.015
- 0.020
ul> - 0 >
- 5
- 10 $
- 15 $
将它们改为类似的正确方法是什么?
可能会在标签上自动添加10 ^ 3 x密度。在过去,我只是增加了我的数据并手动更改了标签,但在这种情况下,密度图为我生成了y轴数据。
I我知道我可以编写诸如 scale_y_continuous(trans =log10)
之类的东西,但还没有找到任何办法来做一个简单的乘法常量,或者定义一个自定义转换。
您可以添加 scale_y_continuous(formatter ='formatter1000')
与之前定义的以下函数:
formatter1000 < - function(x){
x * 1000
}
请注意,上面的答案是给出的一年半前的一个ggplot版本。使用ggplot的最新版本(0.9),上面的示例不起作用,请尝试如下所示: scale_y_continuous(labels = formatter1000)
In a ggplot2 density plot (geom_density) I have the following y-axis labels
- 0.000
- 0.005
- 0.010
- 0.015
- 0.020
What is the correct way to change them to something like
- 0
- 5
- 10
- 15
- 20
possibly with the automatic adding of "10^3 x density" to the label. In the past I've just multiplied my data and manually changed the label, but in this case the y-axis data is generated for me by the density plot.
I'm aware that I can write things like scale_y_continuous(trans="log10")
, but have not found any way to do a simple multiplicative constant, or define a custom transform.
You could add the scale_y_continuous(formatter='formatter1000')
with the following function defined before:
formatter1000 <- function(x){
x*1000
}
Please note, that the above answer was given one and a half year ago with a prior ggplot version. With the latest release (0.9) of ggplot the above example is not working, please try something like: scale_y_continuous(labels = formatter1000)
这篇关于ggplot2通过常数因子转换轴的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!