Я создаю график с несколькими парами блоков, у меня также есть пара средних линий, проходящих через график, и показано много выбросов.В легенде в настоящее время показаны два прямоугольника, однако мне бы хотелось, чтобы они отображали два прямоугольника, а также две средние линии и два выброса.
Мои данные выглядят как
imageNum imageWidth MinMax SubAdd Function
1 100 0.8854797 0.9392620 Height
2 100 0.8810220 0.9367482 Height
3 100 0.9525434 0.9756950 Height
4 100 0.8985018 0.9465377 Height
5 100 0.9174043 0.9569232 Height
6 100 0.8761194 0.9339697 Height
Функция содержит две категории Высота и Площадь.Для каждого imageNum (1-300)
существует 10 уровней разрешения (100, 300, 500, ..., 1900)
.MinMax
- это мера, которую я хочу построить.SubAdd
на данном этапе не имеет значения.
library(ggplot2)
areas <- read.csv("allResolutionsAreaSorted.csv", header=TRUE)
areas$Function<-"Area"
heights <- read.csv("allResolutionsHeightSorted.csv", header=TRUE)
heights$Function<-"Height"
bound <- rbind(heights, areas)
bound$imageWidth <- as.factor(bound$imageWidth)
bound$Function <- factor(bound$Function, levels=c("Height","Area"))
ggplot(bound, aes(x=imageWidth, y=MinMax, color=Function)) +
geom_boxplot(outlier.size = 1, outlier.shape=1) +
labs(title="Plot of MinMax Similarity by Image Resolution",
x="Image Width (Pixels)", y="MinMax Similarity") +
theme_light() + scale_color_grey() +
theme(plot.title = element_text(hjust = 0.5)) +
stat_summary(fun.y=mean, geom="line", lty=3, aes(group=Function),
position=position_dodge(.75), show.legend=TRUE)
Это график, который я создал до сих пор, я вручную нарисовал 4 нижних элемента легенды так, как мне бы хотелось.
Редактировать: Мои данные и файл R: https://drive.google.com/open?id=1JSb0wd3NtoWrs_usEigq88kyc-B5rQ4M