R ggridges: цвет geom_ridges_density_gradient на основе третьей переменной - PullRequest
1 голос
/ 01 апреля 2020

Кто-нибудь знает, можно ли управлять раскраской в ​​ggridges :: geom_ridges_density_gradient с помощью третьей переменной?

Чтобы объяснить, если я рисую диаграмму ребра направлений ветра в NE Линкольна (модифицировано из примера в help(geom_ridges_density_gradient)), я могу раскрасить в соответствии с x (здесь направление ветра) или y (месяц). Например, следующее дает хороший график c, показывающий преобладание северо-западных ветров с поздней осени до ранней весны и юго-восточных ветров в другие месяцы .

ggplot(lincoln_weather, aes(x = `WindDir [Degrees]`, y = `Month`, fill = stat(x))) +
     geom_density_ridges_gradient(bandwidth=22.5) + 
     scale_fill_viridis_c(name = "Temp. [F]", option = "C") + xlim(0,360)

Wind directionis in Lincoln NE

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

ggplot(lincoln_weather, aes(x = `WindDir [Degrees]`, y = `Month`, fill = (`Mean Wind Speed[MPH]`))) +
 geom_density_ridges_gradient(bandwidth=22.5) + 
scale_fill_viridis_c(name = "Wind direction (°)", option = "C") + xlim(0,360)

Я не могу найти примеры, когда цветовая шкала контролируется чем-то отличным от fill=stat(x) или fill=stat(y)

Я недостаточно хорошо понимаю дело fill=stat, чтобы продвигаться в этом. Кто-нибудь знает примеры, когда раскраска выполняется с помощью третьей переменной?

* 10 21 * Любая помощь приветствуется.

1 Ответ

0 голосов
/ 01 апреля 2020

Я не уверен, что именно это является причиной вашей проблемы, но у вас есть лишние скобки в вашем коде, сразу после "fill =". Попробуйте приведенный ниже код.

ggplot(lincoln_weather, aes(x = 'WindDir [Degrees]', y = 'Month', fill = 'Mean Wind Speed[MPH]')) +
 geom_density_ridges_gradient(bandwidth=22.5) + 
scale_fill_viridis_c(name = "Wind direction (°)", option = "C") + xlim(0,360)

Кроме того, проверьте, нет ли опечаток в именах столбцов. Я вижу, что средняя скорость ветра - единственный столбец без пробелов между текстом и текстом в скобках.

...