我有一个包含10列的csv文件,想要阅读并绘制其中的7个以及文本文件时间序列。使用以下代码,我可以绘制它们但面临一些问题:
1]绘图之间的空白区域使每个绘图看起来非常小。如何使用大部分空间? 2]图例重叠第7个图。如何将其放置在面板绘图区域8和9(因为不使用面板绘图区域8和9)
3]如何制作一个共同的x和y轴并定义每个面板图的单独标题
library(qmap)
obs <- read.table("D:/test.txt")
mod <- read.csv("D:/pr.csv", header = FALSE)
par(mfrow=c(3,3), oma = c(4, 1, 1, 1))
for(i in 4:10){
modp <- mod[,i]
qm1.fit <- fitQmap(obs,modp,
method="PTF",
transfun="expasympt",
cost="RSS",wett.day=TRUE)
qm1 <- doQmap(modprecip,qm1.fit)
# repeated same procedure for qm2, qm3, qm4, and qm5
# QQ-plot of all mappings
obs_v <- as.vector(as.matrix(obs))
mod_v <- as.vector(as.matrix(modp))
qqplot(mod_v, obs_v, col = 1, xlab = 'Pm [mm/day]', ylab = 'Po [mm/day]')
qqline(qm1, col = 2, lwd = 2)
qqline(qm2, col = 3, lwd = 2)
qqline(qm3, col = 4, lwd = 2)
qqline(qm5, col = 5, lwd = 2)
}
legend("bottom", inset=c(-0.2,0), legend=c("A","B"), pch=c(1,3), title="Group")
任何帮助都将非常感激
答案 0 :(得分:2)
使用ggplot2
可以很容易地生成这种情节。我将在ggplot2
文档中显示以下示例,因为您的问题不包含可重复的示例:
library(ggplot2)
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1)
d + facet_wrap(~ color)
ggplot2
解决了您的问题:
另请参阅this tutorial如果您想了解ggplot2
的工作原理,我写了ggplot2
。