#r #colors
#r #Цвет
Вопрос:
У меня есть два набора данных (в конечном итоге я буду работать с восемью), которые я объединил для создания точечного графика. Проблема в том, что теперь, когда я построил точечный график, я не знаю, как разделить объединенные данные, чтобы цвета представляли отдельные наборы данных. Это мой код…
#Here is what I've combined:
t<-rbind(test202, test342)
#Here is plotting the scatter-plot
```{r}
g<-ggplot(t,aes(x=percentage,y=as.numeric(area), col = area, group = area ))
geom_point()
labs(x=expression(paste("Percentage (%)")),
y=expression(paste("Area (m"^2,")"))
)
scale_y_continuous(breaks = seq(0, 20, by = 1))
theme_bw()
theme(element_blank())
g
``
Я пытался погуглить это, но, похоже, не могу найти какой-либо конкретный код для исправления этого. Я прикрепил изображение конечного продукта и содержимого ‘t.
содержимое ‘t’ точечный график ‘t’
РЕДАКТИРОВАТЬ: dput (t)
t <- structure(list(percentage = structure(c(1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L), .Label = c("30", "35",
"40", "45", "50", "55", "60", "65", "70", "75", "80", "85", "90",
"95"), class = "factor"), area = c(1.0068507612755, 1.28144642344154,
1.55604208560758, 1.92216963516231, 2.28829718471704, 2.65442473427176,
3.20361605860385, 3.75280738293594, 4.39353059465671, 5.30884946854352,
6.49876400459638, 7.96327420281528, 10.068507612755, 13.6382512209135,
1.12935650675177, 1.4004020683722, 1.67144762999262, 1.98766745188312,
2.34906153404369, 2.75562987647432, 3.16219821890496, 3.65911508187574,
4.15603194484652, 4.74329732835744, 5.37573697213844, 6.18887365699971,
7.22788164321134, 8.89932927320397)), row.names = c(NA, -28L), class = "data.frame")
Комментарии:
1. Где
t
? Данные необходимы для воспроизведения вашей проблемы!2. Я прикрепил фотографию, если вы можете это видеть? Вы это имеете в виду? Спасибо
3. Не могли бы вы, пожалуйста, сделать это в своей консоли:
dput(t)
и вставить вывод в вопрос?4. Да, я сделаю это, спасибо
Ответ №1:
Похоже, вы просто теряете представление об источнике данных, когда rbind
объединяете строки вместе. Поскольку вы говорите, что у вас есть еще dfs для объединения, я предоставлю dplyr
решение.
library(dplyr)
library(ggplot2)
t <- dplyr::bind_rows(list(test202 = test202,
test342 = test342),
.id = 'source')
ggplot(t, aes(x = percentage,
y = as.numeric(area),
col = source,
group = source ))
geom_point()
labs(x = expression(paste("Percentage (%)")),
y = expression(paste("Area (m"^2,")"))
)
scale_y_continuous(breaks = seq(0, 20, by = 1))
theme_bw()
theme(element_blank())
Комментарии:
1. Спасибо вам за это. В будущем, когда я добавлю больше данных, я просто продолжу ‘bind_rows(list())’ с дополнительными тестами?
2. Точно, просто продолжайте добавлять в список фреймов данных, которые вы объединяете. Кстати, вы можете назвать их так, как хотите (в левой части уравнения). Если это решит вашу проблему, пожалуйста, поставьте галочку.
3. Большое спасибо! Очень признателен (: