Мой сюжет состоит из трех кругов и двух точек. Я надеюсь завершить две, казалось бы, простые, но трудные задачи. Я надеюсь: 1) создать две легенды и 2) изменить форму, размер и цвет предмета домашнего обихода. Круги, созданные с использованием следующей функции ...
Затем я вызываю функцию с 3 различными входами, чтобы сгенерировать 100 точек xy для каждой кривой
A <- circleFun(c(0,0), 1, npoints=100) %>%
cbind("A") %>%
set_names(c("x", "y", "Neighborhood"))
B <- circleFun(c(.5, .5), 1, npoints=100) %>%
cbind("B") %>%
set_names(c("x", "y", "Neighborhood"))
C <- circleFun(c(1, 1), 1, npoints=100) %>%
cbind("C") %>%
set_names(c("x", "y", "Neighborhood"))
neigh <- rbind(A, B, C)
Затем я создаю свою точку data
hh <- as.data.frame(matrix(c(.25,.5,.25,.5,1,2), 2, 3)) %>%
set_names(c("x", "y", "Household"))
Пока у меня есть два разных набора данных, обе точки, обе следующие за aes (x, y). Однако их группировка отличается: первый набор данных сгруппирован по «Соседству», второй сгруппирован по «Домашнему хозяйству».
Затем я строю график того, что у меня есть до сих пор ..
# Plot Neighborhoods and set up plot specifics
c <- ggplot(data=neigh, aes(x,y, group = Neighborhood, color = Neighborhood)) +
geom_path(size = 1.5) +
xlab("Quality of Public Amenities") +
ylab("Price of Housing") +
ggtitle("Figure 2.5") +
theme(panel.grid = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks.x = element_blank(),
axis.ticks.y = element_blank(),
plot.title = element_text(hjust=0.5, face = 'bold', size = 14))
# Add corresponding household points
c+geom_point(data=hh, aes(x=x,y=y,group = as.factor(Household), color = as.factor(Household)))
Это мой вывод ..
Так почему я прошу помощи здесь? Я надеюсь 1) Создать две легенды, одну для Соседства и другую для Домохозяйств и 2) изменить форму, размер и цвет точки домохозяйства. Из-за того, что они оба точечных графика, R не позволяет мне отделить эстетику графиков (
), что заставляет меня не выполнять задачи 1 и 2. Пример полностью воспроизводим.