【发布时间】:2018-12-05 12:50:42
【问题描述】:
我创建了一个图表,以线性单位但以对数 y 比例显示数据(代码如下)。
ggplot() +
geom_point(data=VH_lin, aes(x=VH_lin[,1], y=VH_lin[,2], colour = "green"), size=0.6) +
scale_y_log10(breaks = c(0,0.01, 0.10, 1.00, 10), limit=c(-0.01,10)) + scale_x_continuous(breaks=c(0, 2000, 4000, 6000, 8000, 10000, 12000)) +
xlab("x") + ylab("y") +
theme(panel.background = element_rect(fill = "white", colour = "grey50"))
我想以分贝为单位添加第二个 y 刻度 - 这是对数单位。要转换数据,我必须计算 10*log10(x),因此绘图上的数据分布应该相同 - 因为 dB 是对数的。 基本上,我想使用两个单位在同一个地块上呈现 dame 数据: 线性(但以对数刻度表示 - 已在代码中)和 dB。可能吗?下面的图片(差)展示了我的想法。
VH_lin 数据示例:
1 0 0.012729834
2 3.133577295 0.012729834
10 14.75257582 0.013739633
36 59.10725461 0.014644137
41 69.42152155 0.0103109
466 1180.242805 0.011991354
486 1204.63381 0.008985861
520 1256.814223 0.008706877
【问题讨论】:
-
您查看过sec_axis 帮助页面吗?寻求帮助时,您应该包含一个简单的reproducible example 和示例输入,可用于测试和验证可能的解决方案。
-
我以前没有看过 sec_axis,但它看起来是我需要的。但是,我不知道如何正确应用 10*log10() 转换...我已经编辑了我的问题并添加了一些数据示例。