R ggplot在不更改比例的情况下更改轴的标签

R ggplot在不更改比例的情况下更改轴的标签,r,ggplot2,axis-labels,R,Ggplot2,Axis Labels,我正在使用ggplot绘制一个geom_光栅,其中y轴是日志的结果: 我想让axis保持原样,但将标签更改为exp(y_-coord),以使其他用户更清楚地看到这些值。如果我直接转换y_坐标,那么光栅将不再工作,因为每个y值之间将有一个很大的空白。这完全可行吗 提前谢谢 这是一个可复制的代码: testy <- structure(list(x_coord = c(0, 11.1111111111111, 22.2222222222222,

我正在使用ggplot绘制一个geom_光栅,其中y轴是日志的结果:

我想让axis保持原样,但将标签更改为exp(y_-coord),以使其他用户更清楚地看到这些值。如果我直接转换y_坐标,那么光栅将不再工作,因为每个y值之间将有一个很大的空白。这完全可行吗

提前谢谢

这是一个可复制的代码:

testy <- structure(list(x_coord = c(0, 11.1111111111111, 22.2222222222222, 
                           33.3333333333333, 44.4444444444444, 55.5555555555556, 66.6666666666667, 
                           77.7777777777778, 88.8888888888889, 100, 0, 11.1111111111111, 
                           22.2222222222222, 33.3333333333333, 44.4444444444444, 55.5555555555556, 
                           66.6666666666667, 77.7777777777778, 88.8888888888889, 100, 0, 
                           11.1111111111111, 22.2222222222222, 33.3333333333333, 44.4444444444444, 
                           55.5555555555556, 66.6666666666667, 77.7777777777778, 88.8888888888889, 
                           100, 0, 11.1111111111111, 22.2222222222222, 33.3333333333333, 
                           44.4444444444444, 55.5555555555556, 66.6666666666667, 77.7777777777778, 
                           88.8888888888889, 100, 0, 11.1111111111111, 22.2222222222222, 
                           33.3333333333333, 44.4444444444444, 55.5555555555556, 66.6666666666667, 
                           77.7777777777778, 88.8888888888889, 100, 0, 11.1111111111111, 
                           22.2222222222222, 33.3333333333333, 44.4444444444444, 55.5555555555556, 
                           66.6666666666667, 77.7777777777778, 88.8888888888889, 100, 0, 
                           11.1111111111111, 22.2222222222222, 33.3333333333333, 44.4444444444444, 
                           55.5555555555556, 66.6666666666667, 77.7777777777778, 88.8888888888889, 
                           100, 0, 11.1111111111111, 22.2222222222222, 33.3333333333333, 
                           44.4444444444444, 55.5555555555556, 66.6666666666667, 77.7777777777778, 
                           88.8888888888889, 100, 0, 11.1111111111111, 22.2222222222222, 
                           33.3333333333333, 44.4444444444444, 55.5555555555556, 66.6666666666667, 
                           77.7777777777778, 88.8888888888889, 100, 0, 11.1111111111111, 
                           22.2222222222222, 33.3333333333333, 44.4444444444444, 55.5555555555556, 
                           66.6666666666667, 77.7777777777778, 88.8888888888889, 100), y_coord = c(1.27207478413227, 
                                                                                                   1.27207478413227, 1.27207478413227, 1.27207478413227, 1.27207478413227, 
                                                                                                   1.27207478413227, 1.27207478413227, 1.27207478413227, 1.27207478413227, 
                                                                                                   1.27207478413227, 1.65618234735767, 1.65618234735767, 1.65618234735767, 
                                                                                                   1.65618234735767, 1.65618234735767, 1.65618234735767, 1.65618234735767, 
                                                                                                   1.65618234735767, 1.65618234735767, 1.65618234735767, 2.04028991058307, 
                                                                                                   2.04028991058307, 2.04028991058307, 2.04028991058307, 2.04028991058307, 
                                                                                                   2.04028991058307, 2.04028991058307, 2.04028991058307, 2.04028991058307, 
                                                                                                   2.04028991058307, 2.42439747380847, 2.42439747380847, 2.42439747380847, 
                                                                                                   2.42439747380847, 2.42439747380847, 2.42439747380847, 2.42439747380847, 
                                                                                                   2.42439747380847, 2.42439747380847, 2.42439747380847, 2.80850503703387, 
                                                                                                   2.80850503703387, 2.80850503703387, 2.80850503703387, 2.80850503703387, 
                                                                                                   2.80850503703387, 2.80850503703387, 2.80850503703387, 2.80850503703387, 
                                                                                                   2.80850503703387, 3.19261260025927, 3.19261260025927, 3.19261260025927, 
                                                                                                   3.19261260025927, 3.19261260025927, 3.19261260025927, 3.19261260025927, 
                                                                                                   3.19261260025927, 3.19261260025927, 3.19261260025927, 3.57672016348467, 
                                                                                                   3.57672016348467, 3.57672016348467, 3.57672016348467, 3.57672016348467, 
                                                                                                   3.57672016348467, 3.57672016348467, 3.57672016348467, 3.57672016348467, 
                                                                                                   3.57672016348467, 3.96082772671008, 3.96082772671008, 3.96082772671008, 
                                                                                                   3.96082772671008, 3.96082772671008, 3.96082772671008, 3.96082772671008, 
                                                                                                   3.96082772671008, 3.96082772671008, 3.96082772671008, 4.34493528993548, 
                                                                                                   4.34493528993548, 4.34493528993548, 4.34493528993548, 4.34493528993548, 
                                                                                                   4.34493528993548, 4.34493528993548, 4.34493528993548, 4.34493528993548, 
                                                                                                   4.34493528993548, 4.72904285316088, 4.72904285316088, 4.72904285316088, 
                                                                                                   4.72904285316088, 4.72904285316088, 4.72904285316088, 4.72904285316088, 
                                                                                                   4.72904285316088, 4.72904285316088, 4.72904285316088), k = c(0.351190545556044, 
                                                                                                                                                                0.402015361073213, 0.48094295327124, 0.50810565286815, 0.511050545698899, 
                                                                                                                                                                0.699101076383458, 0.694376226699522, 0.787703068039111, 0.703909839507896, 
                                                                                                                                                                0.684716702388908, 0.3497800990482, 0.40622480657861, 0.50414652717829, 
                                                                                                                                                                0.529895831755873, 0.531270708380838, 0.747872635061465, 0.741757131973139, 
                                                                                                                                                                0.850198553369452, 0.779238835857405, 0.752450375256723, 0.348896590167603, 
                                                                                                                                                                0.409249693296974, 0.526962532021722, 0.552582085470236, 0.550644399465935, 
                                                                                                                                                                0.799660481113466, 0.799419364330684, 0.923822722948855, 0.872773192018314, 
                                                                                                                                                                0.836386311967505, 0.348684770158436, 0.411315897626239, 0.549286530004577, 
                                                                                                                                                                0.576124359291355, 0.568818792288157, 0.855432558708469, 0.870173300097835, 
                                                                                                                                                                1.00953124004072, 0.985488745721401, 0.938014353449385, 0.349230750359396, 
                                                                                                                                                                0.412624427796125, 0.57111115861015, 0.600528120932586, 0.585499847866914, 
                                                                                                                                                                0.91623076813441, 0.956478940336248, 1.10773459897746, 1.11552559911498, 
                                                                                                                                                                1.05667290331708, 0.350672967408514, 0.413454520686879, 0.592337311702096, 
                                                                                                                                                                0.625827849207283, 0.600443741054026, 0.982983987710689, 1.05981331564001, 
                                                                                                                                                                1.21791489755301, 1.25868883639333, 1.18910819505162, 0.352927826321529, 
                                                                                                                                                                0.414030082837993, 0.612942490950093, 0.652118824592372, 0.613515780206541, 
                                                                                                                                                                1.05629287029952, 1.18020253916402, 1.33918896692598, 1.41023492272489, 
                                                                                                                                                                1.33089593863805, 0.355981362559226, 0.414537595656719, 0.632723408860561, 
                                                                                                                                                                0.679546551936591, 0.624701408172261, 1.13626356686655, 1.31642469466783, 
                                                                                                                                                                1.4703293290137, 1.56631090115082, 1.47764848653351, 0.359713149263007, 
                                                                                                                                                                0.415299210716155, 0.653142029397428, 0.708295826452401, 0.634131473438615, 
                                                                                                                                                                1.22248003170447, 1.46661895293611, 1.61036911297606, 1.72389760304986, 
                                                                                                                                                                1.62501919380059, 0.363915570276277, 0.41638643535383, 0.669393020235381, 
                                                                                                                                                                0.73863647666385, 0.642093668470497, 1.31408744224119, 1.62897502489609, 
                                                                                                                                                                1.75854113809976, 1.87583909078164, 1.77066218075484)), class = "data.frame", row.names = c(NA, 
                                                                                                                                                                                                                                                            -100L))

g <- ggplot()
g <- g + geom_raster(mapping = aes(x =x_coord, y=y_coord, fill=k), data = testy, interpolate = FALSE)
g <- g + scale_fill_gradientn(name="..",
                              limits=c(0,2),
                              breaks=seq(0,2, by=.5),
                              values = c(0,0.2,0.5,1),#these are percentage, for example, to get color red, you need to reach 1 (100%) of high_f
                              colours=c("white","darkgreen","yellow","red"))
g <- g + scale_y_continuous(labels = scales::number_format(accuracy = .1,decimal.mark = '.'),
                            limits=c(min(testy$y_coord),max(testy$y_coord)), breaks=seq(0,max(testy$y_coord),by=(max(testy$y_coord)/10)))
plot(g)

testy您是否希望将您的值转换为指数(exp(x)形式,例如:

ggplot()+
geom_光栅(映射=aes(x=x_坐标,y=y_坐标,fill=k),数据=testy,插值=FALSE)+
比例填充梯度n(name=“…”,
极限=c(0,2),
断开=顺序(0,2,比=.5),
值=c(0,0.2,0.5,1),#这些是百分比,例如,要获得红色,需要达到1(100%)的高#
颜色=c(“白色”、“深绿色”、“黄色”、“红色”))+
缩放y连续(标签=函数(x)轮(exp(x),1))

或者像在这个解决方案中一样将值显示为上标“e”

ggplot()+
geom_光栅(映射=aes(x=x_坐标,y=y_坐标,fill=k),数据=testy,插值=FALSE)+
比例填充梯度n(name=“…”,
极限=c(0,2),
断开=顺序(0,2,比=.5),
值=c(0,0.2,0.5,1),#这些是百分比,例如,要获得红色,需要达到1(100%)的高#
颜色=c(“白色”、“深绿色”、“黄色”、“红色”))+
缩放y连续(标签=函数(x)标签解析(粘贴(“e^”,x)))

正如@teunbrand所指出的,您可以使用
label\u math
函数从
scales
package获得相同的结果:

+
比例y连续(标签=比例::标签数学(e^.x))

我只是想补充一点,scales软件包中有
scales::label_math()
可以设置表达式而无需粘贴,即
scales::label_math(e^.x)
@teunbrand,谢谢你的提示;)我不知道这个函数。这正是我需要的,非常感谢!(基本上是第一张图片)