绘制三变量折线图
Plot three-variable line chart
我需要根据下面的 dataset
绘制包含 2 条线的折线图:
我需要图表的每一行都与技术匹配。 X 和 Y 的值分别是 Release 和 Added。我需要生成的图表类似于下图中的图表:
为了绘制第一行,我试过:
plot(IrisChangeModules[IrisChangeModules$Technique=="aop"]$Added, IrisChangeModules[IrisChangeModules$Technique=="aop"]$Release, type = "l")
首先创建一个有序的发布int
IrisChangeModules$release_n = 1:nrow(IrisChangeModules)
现在创建一个空白图,type="n"
意味着实际上什么都没有绘制。
plot(Added~release_n,data=IrisChangeModules,type="n",xaxt = "n")
使用原始变量创建轴标签(如果您有超过 4 个版本,您可能需要更新 at
)。
axis(1,at=1:4,labels=IrisChangeModules$Release)
需要添加行
lines(Added~release_n,data=IrisChangeModules[IrisChangeModules$tech=="dop",],type='l',col="green")
lines(Added~release_n,data=IrisChangeModules[IrisChangeModules$tech=="aop",],type='l',col="red")
添加图例,如果添加更多行,请确保正在更新
legend(1,90,
legend=c("dop", "aop"),
col=c("green", "red"),
lty=1,
cex=0.8)
使用 ggplot
(虽然不是 base r
解决方案),获得所需输出的一种方法可以是:
library(ggplot2)
ggplot(dataset, aes(x=Release, y=Added, group=Technique)) + geom_line(aes(linetype = Technique, color=Technique)) + geom_point(aes(color = Technique)) + theme_bw()
您可以使用 ggplot
的不同参数来定位图例和情节的其他方面。
更新:
从您的脚本中删除 ylab("Added Modules") + scale_color_discrete(name = "SPL Techniques")
并将输出保存在变量中,如下所示:
x <- ggplot(IrisChangeModules, aes(x=Release, y=Added, group=Technique)) + geom_line(aes(linetype = Technique, color=Technique)) + geom_point(aes(color = Technique)) + theme_bw()
然后将修改后的标签和新的图例标题叠加为:
x+ labs(y = "Added Modules") + scale_fill_discrete(name = "SPL Techniques")
这会给你想要的。
我需要根据下面的 dataset
绘制包含 2 条线的折线图:
我需要图表的每一行都与技术匹配。 X 和 Y 的值分别是 Release 和 Added。我需要生成的图表类似于下图中的图表:
为了绘制第一行,我试过:
plot(IrisChangeModules[IrisChangeModules$Technique=="aop"]$Added, IrisChangeModules[IrisChangeModules$Technique=="aop"]$Release, type = "l")
首先创建一个有序的发布int
IrisChangeModules$release_n = 1:nrow(IrisChangeModules)
现在创建一个空白图,type="n"
意味着实际上什么都没有绘制。
plot(Added~release_n,data=IrisChangeModules,type="n",xaxt = "n")
使用原始变量创建轴标签(如果您有超过 4 个版本,您可能需要更新 at
)。
axis(1,at=1:4,labels=IrisChangeModules$Release)
需要添加行
lines(Added~release_n,data=IrisChangeModules[IrisChangeModules$tech=="dop",],type='l',col="green")
lines(Added~release_n,data=IrisChangeModules[IrisChangeModules$tech=="aop",],type='l',col="red")
添加图例,如果添加更多行,请确保正在更新
legend(1,90,
legend=c("dop", "aop"),
col=c("green", "red"),
lty=1,
cex=0.8)
使用 ggplot
(虽然不是 base r
解决方案),获得所需输出的一种方法可以是:
library(ggplot2)
ggplot(dataset, aes(x=Release, y=Added, group=Technique)) + geom_line(aes(linetype = Technique, color=Technique)) + geom_point(aes(color = Technique)) + theme_bw()
您可以使用 ggplot
的不同参数来定位图例和情节的其他方面。
更新:
从您的脚本中删除
ylab("Added Modules") + scale_color_discrete(name = "SPL Techniques")
并将输出保存在变量中,如下所示:x <- ggplot(IrisChangeModules, aes(x=Release, y=Added, group=Technique)) + geom_line(aes(linetype = Technique, color=Technique)) + geom_point(aes(color = Technique)) + theme_bw()
然后将修改后的标签和新的图例标题叠加为:
x+ labs(y = "Added Modules") + scale_fill_discrete(name = "SPL Techniques")
这会给你想要的。