r - ggplot2 将两个变量绘制在同一个图中,但一个变量的 y 轴反转
问题描述
我有以下示例数据:
df2 <- data.frame(supp=rep(c("VC", "OJ"), each=3),
dose=rep(c("D0.5", "D1", "D2"),2),
len=c(6.8, 15, 33, 4.2, 10, 29.5))
通常我们绘制两个变量VC
并OJ
在同一个图中像这样:
ggplot(data=df2, aes(x=dose, y=len, group=supp, colour=supp)) +
geom_line()
我想要得到的是VC
在反转的 Y 轴上绘制,同时仍然将两个变量保持在同一个图中并共享相同的 x 轴。它应该像下面的图片:
我怎么能用ggplot2做到这一点?非常感谢。
解决方案
我不确定这是否是你要找的。
ggplot2,不太容易处理辅助轴。为了反转这个变量,需要乘以 -1 来反转它。
library(tidyr)
#widen the dataframe, to separate the variables into different columns
df3<-pivot_wider(df2, id_cols = dose, names_from = supp, values_from = len)
ggplot(data=df3) +
geom_line(aes(x=dose, y=OJ, group="OJ", color="OJ")) +
geom_line(aes(x=dose, y=-1*VC, group="VC", color="VC"))
推荐阅读
- python - 按小时和匹配搜索条件的事件数对基于文本的日志文件进行格式化和排序
- ios - 从 didFinishLaunchingWithOptions 调用时,3D Touch 快速操作不起作用
- xml - 如何替换 XSLT 中的选定字符
- laravel - 我应该在模型上放置有关身份验证的逻辑吗?
- javascript - ReactJS - 使用 onclick 切换类
- git - 如果我在错误的目录中,Git Status 不会发疯
- gpyopt - GPyOpt 获得最优 X 的成本差异
- openvms - Oracle Pro*C 10.0 预编译器是否要求浮点主变量采用 IEEE 格式?
- python - 将连续增加的 url 打印为 pdf
- qt - 我有一个 ListView,可以在其中添加和删除 ListElements。当我删除 ListElement(行)时,有没有办法为下部项目的移动设置动画?