R ggplot:使用对数比例的错误geom_arrow方向

Posted

技术标签:

【中文标题】R ggplot:使用对数比例的错误geom_arrow方向【英文标题】:R ggplot: wrong geom_arrow direction using log scale 【发布时间】:2022-01-21 02:20:42 【问题描述】:

我希望有人可以帮助我解决我的问题:

我想在对数 y 轴上绘制一些与高度相关的数据。 与

scale_y_continuous(expand = c(0,0), breaks = c(100,200,300,400,500,600,750,1000,1250,1500,1750,2000,2500,3000,3500,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000), limit = c(min(level_h),9500), name = "Höhe in m", trans = log2_trans())

当添加风向量时

geom_vector(data = wind_df, aes(x=Stunde, y=level, angle = atan2(dlat(v), dlon(u, level))*180/pi,mag = Mag(v, u)), skip = 1, pivot = 0.5, show.legend = FALSE)

角度出现方向错误。

没有转换到对数尺度风矢量是正确的。 有谁知道我做错了什么?向量角度是否也可能是对数缩放的?

感谢您的帮助!

使用对数刻度:

没有对数刻度:

【问题讨论】:

我认为你需要使用geom_arrowgeom_vector(preserve.dir = TRUE) 来获得你想要的东西。 preserve.dir=TRUE 工作正常!感谢您的快速解决方案。 【参考方案1】:

关键是在对geom_vector()的调用中使用preserve.dir = TRUE

geom_vector(data = wind_df, 
            aes(x=Stunde, y=level, angle = atan2(dlat(v), dlon(u, level))*180/pi,
                mag = Mag(v, u)), 
            skip = 1, 
            pivot = 0.5, 
            show.legend = FALSE, 
            preserve.dir = TRUE)

【讨论】:

以上是关于R ggplot:使用对数比例的错误geom_arrow方向的主要内容,如果未能解决你的问题,请参考以下文章

用 ggplot2 注释 R 中的矩形以获得对数刻度的图形

R可视化使用ggplot2将坐标轴设置为对数坐标轴(Log Scale)

R语言ggplot2可视化处理y轴坐标数值极大的情况:对数坐标(log10)

在 R 中使用 ggplot 和拼凑更改轴标签和比例

在R中标记对数刻度显示

R语言ggplot2可视化:使用dplyr包计算每个分组个数的比例使用ggplot2可视化条形图(bar plot)并在条形图上添加百分比标签