R 绘制多点和最佳拟合线
我想创建一个带有R 绘制多点和最佳拟合线,r,R,我想创建一个带有Roundrobin和Prediction点的绘图图,不带颜色,其中Roundrobin和Prediction点的类型不同,并且有一个图例。我想为结果添加一条最佳拟合线 我很难将所有这些特性添加到一个有2个点的图中。我习惯于Gnuplot,但我不知道如何使用R来实现这一点。如何使用R来实现这一点 [1] 输入数据 Inputdata,Roundrobin,Prediction 1,178,188 2,159,185 3,140,175 [2] 生成数据的脚本 no_faults
Roundrobin
和Prediction
点的绘图图,不带颜色,其中Roundrobin
和Prediction
点的类型不同,并且有一个图例。我想为结果添加一条最佳拟合线
我很难将所有这些特性添加到一个有2个点的图中。我习惯于Gnuplot,但我不知道如何使用R来实现这一点。如何使用R来实现这一点
[1] 输入数据
Inputdata,Roundrobin,Prediction
1,178,188
2,159,185
3,140,175
[2] 生成数据的脚本
no_faults_data <- read.csv("testresults.csv", header=TRUE, sep=",")
# Graph 1
plot(no_faults_data$Inputdata, no_faults_data$Roundrobin,ylim = range(c(no_faults_data$Roundrobin,no_faults_data$Prediction)),xlab="Input data size (MB)", ylab="Makespan (seconds)")
points(no_faults_data$Inputdata, no_faults_data$Prediction)
abline(no_faults_data$Inputdata, no_faults_data$Roundrobin, untf = FALSE, \dots)
abline(no_faults_data$Inputdata, no_faults_data$Prediction, untf = FALSE, \dots)
legend("top", notitle, c("Round-robin","Prediction"), fill=terrain.colors(2), horiz=TRUE)
无故障\u数据在base R中,您必须首先创建一个合适的模型:
robin <- lm(Roundrobin ~ Inputdata, data = no_faults_data)
pred <- lm(Prediction ~ Inputdata, data = no_faults_data)
plot(no_faults_data$Inputdata, no_faults_data$Roundrobin,
ylim = range(c(no_faults_data$Roundrobin,no_faults_data$Prediction)),
xlab = "Input data size (MB)", ylab = "Makespan (seconds)",
col = "green", pch = 19, cex = 1.5)
points(no_faults_data$Inputdata, no_faults_data$Prediction, pch = 22, cex = 1.5)
abline(robin, lty = 1)
abline(pred, lty = 5)
legend(1.1, 155, legend = c("Round-robin","Prediction"), pch = c(19,22), col = c("green","black"),
bty = "n", cex = 1.2)
其中:
使用数据:
no_faults_data <- read.csv(text="Inputdata,Roundrobin,Prediction
1,178,188
2,159,185
3,140,175", header=TRUE)
no\u faults\u data您应该查看ggplot2软件包以进行绘图。您提供的3点数据可能不需要,但它的绘图效果比默认值好得多
df <- data.frame("Inputdata" = c(1,2,3,1,2,3), "score" = c(178,159,140,188,185,175), "scoreType" = c(rep("Roundrobin",3), rep("Prediction",3)))
p <- ggplot(data=df, aes(x=Inputdata, y=score, group=scoreType, shape = scoreType)) + geom_point(size=5)
p <- p + ggtitle("My Title")
p+stat_smooth(method="lm",se = FALSE)
df看一看abline()…我知道有abline
,问题是我不知道如何将所有这些结合到一个图中。我习惯于Gnuplot而不是R。在图例中可能有不同的点吗<代码>图例(…,pch=(9,19),c(“循环”、“预测”),填充=c(“绿色”、“白色”)
df <- data.frame("Inputdata" = c(1,2,3,1,2,3), "score" = c(178,159,140,188,185,175), "scoreType" = c(rep("Roundrobin",3), rep("Prediction",3)))
p <- ggplot(data=df, aes(x=Inputdata, y=score, group=scoreType, shape = scoreType)) + geom_point(size=5)
p <- p + ggtitle("My Title")
p+stat_smooth(method="lm",se = FALSE)