Перекрывающиеся графики аэростатов в ggplot

Я хотел бы объединить эти два сюжета в один:

Перекрывающиеся графики аэростатов в ggplot

Перекрывающиеся графики аэростатов в ggplot

Но я бы хотел, чтобы самая большая точка была на заднем плане, а самая маленькая - на переднем, независимо от типа растения.

Я бы в принципе хотел сделать что-то вроде этого:

Перекрывающиеся графики аэростатов в ggplot

Но единственная проблема заключается в том, что растения существенно различаются по размеру, поэтому я хотел бы сохранить их индивидуальный размер точки плотности (сохранить их индивидуальные диапазоны).

Если я не могу сохранить их собственный размерный диапазон, но сделаю так, чтобы самая большая точка была позади, это будет менее идеальным, но выполнимым с тем, что я хочу делать.

Обновлено: Вот несколько примеров данных:

TRANSECT FRAME PLANT DENSITY
1        1      SCAR    3600
1        2      SCAR    3840
1        3      SCAR    0
1        4      SCAR    1880
2        1      SCAR    3480
2        2      SCAR    1600
2        3      SCAR    3640
2        4      SCAR    1280
1        1      BRRU    40
1        2      BRRU    40
1        3      BRRU    1320
1        4      BRRU    280
2        1      BRRU    120
2        2      BRRU    0
2        3      BRRU    120
2        4      BRRU    360

Плотность находится на двух разных уровнях: одно - очень маленькое, тощее растение, а другое - выше и занимает больше места.

Спасибо!

Пожалуйста, предоставьте воспроизводимый пример, чтобы другие могли помочь ответить на ваш вопрос.

Anonymous coward 30.10.2018 18:10
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
178
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

(Кстати, хорошей практикой является включение воспроизводимого примера, чтобы людям, которые хотят помочь вам, не приходилось выполнять дополнительную работу, которую вы уже сделали, или делать предположения о ваших данных, которые могут помешать вам получить соответствующий ответ. )

Здесь я сделал несколько поддельных данных и изобразил, как выглядит ваш пример:

library(dplyr); library(ggplot2)
set.seed(42)
df <- data.frame(FRAME = rep(1:12, each = 4),
                 TRANSECT = rep(1:4, 12),
                 BRRU = runif (48, 0, 3000),
                 SCAR = runif (48, 0, 3000)) %>%
  tidyr::gather(PLANT, DENSITY, BRRU:SCAR)
ggplot(df, aes(FRAME, TRANSECT, size = DENSITY, color = PLANT)) + 
  geom_point()

При группировке по каждой координате и сортировке в порядке убывания наибольшие точки печатаются первыми, а меньшие - потом сверху:

ggplot(df %>% 
         group_by(FRAME, TRANSECT) %>% 
         arrange(-DENSITY) %>%
         ungroup(), 
       aes(FRAME, TRANSECT, size = DENSITY, color = PLANT)) + 
  geom_point()

Большое спасибо за помощь. Я обязательно буду включать данные в будущие публикации. У меня проблема, когда он говорит, что не может найти функцию "%>%. Я добавлю некоторые данные в исходное сообщение.

TaraBBB 03.12.2018 05:37

Это говорит о том, что dplyr не был успешно загружен. Мой ответ полагается на его загрузку с линией library(dplyr). Я предполагаю, что либо это было пропущено, либо не загрузилось.

Jon Spring 03.12.2018 06:40

Другие вопросы по теме