【发布时间】:2020-07-08 05:21:19
【问题描述】:
我有一个数据框,其中第一列名为“日期”。它的值类似于“2016-01-01、2016-01-02 ...”等。第二列名为“precipBulk”,它只有十进制值(例如 3.36、1.57 等)。第三列名为“丰度”,它也有十进制值。我想在一张图上同时绘制“丰度”和“沉淀块”(如图所示),但我希望 x 轴每个月都有间隔,而不是像现在这样每隔一个月。我知道有一种方法可以在 ggplot2 中使用“scale_x_date()”,但由于某种原因,我无法使用 ggplot2 在一个图中绘制两个 y 值。有没有办法在不使用 ggplot2 的情况下做到这一点?如果没有,关于如何使用 ggplot2 绘制双 y 轴以实现此目的的任何提示?
图表链接https://i.stack.imgur.com/SZXgT.png` 一小部分数据框https://i.stack.imgur.com/PvTED.png
为了制作图表,我做了:
x = frame$Date
y1 = frame$precipBulk
y2 = frame$abundance
plot(x,y1, type = "l",ylab="Bulk Precipitation",xlab="Month",col="blue", main = "Precipitation vs Mosquito Abundance (OSBS 2016)", cex.main = 1)
par(new = TRUE)
plot(x, y2, type = "l",yaxt="n",xaxt="n",ylab="",col="red")
axis(side = 4)
legend('topleft', c("Precipitation", "Mosquito Abundance"), col= c("blue", "Red"),lty=c(1,1), adj = c(0,0.6), cex= 0.75)
【问题讨论】:
-
请不要发布代码/数据/错误的图像:它不能被复制或搜索 (SEO),它会破坏屏幕阅读器,并且它可能不适合某些移动设备。参考:meta.stackoverflow.com/a/285557(和xkcd.com/2116)。请直接包含代码、控制台输出或数据(例如,
dput(head(x))或data.frame(...))。