Фасетирование в ggplot () в R - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь построить график для числовой c переменной rider_count по сравнению с категориальной переменной по дням недели («Пн», «Вт» ....), и этот график должен быть граничным графиком с 55 категориями ,

Пробовал использовать

ggplot(aes(x=wday, y=rider_count_sum)) +
  geom_bar(stat = "identity") +
  facet_wrap(~counter_edited, scales="free")

Однако вывод у него очень сильно скручивается из-за того, что шкала не подходит.

введите описание изображения здесь

Есть ли способы заставить его нормально масштабироваться?

1 Ответ

3 голосов
/ 06 августа 2020

Проблема здесь в вашей огранке. Он производит сетку размером 8 x 7 ячеек. График отображается на моем мониторе размером примерно 18 см на 11 см. Это означает, что каждая ячейка имеет размер примерно 2,25 см x 1,5 см. Достаточно ли велика ячейка такого размера, чтобы предоставить значимую информацию в виде графика? Я бы сказал «нет».

Итак, у вас есть два варианта: увеличить размер графика c или уменьшить размер сетки.

Увеличивает размер графика опция? Ну, насколько большой должна быть каждая ячейка, чтобы иметь смысл? Я не знаю: вам придется поэкспериментировать: это будет зависеть от расстояния просмотра и уровня информации, которую вы хотите передать. В качестве мысленного эксперимента предположим, что вам нужно, чтобы каждая ячейка была размером 8 см на 8 см, чтобы ее можно было интерпретировать. Это означает, что размер графика c должен быть не менее 64 см x 56 см. Для этого потребуется лист бумаги формата A1 / ANSI D. Это заголовок к размеру бумаги. Если вы не говорите о плакатах, это неразумно. Даже в качестве плаката читателю придется стоять так близко, чтобы не уловить смысл всего графикаi c. На цифровом дисплее вы снова будете говорить о настенном устройстве. Если стоять достаточно близко, чтобы смотреть на ячейку, разрешение пикселей было бы проблемой. Прокрутка на меньшем блоке уничтожит всю цель использования фасетированного дисплея.

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

Как насчет уменьшения количества ячеек? Для меня это был бы путь к go. Упростите презентацию, чтобы ваше сообщение донеслось до вас. Например, средние рабочие дни и выходные на одном графике c, разница между будними днями - на другом. Это уменьшает одно измерение с 7 до 2 или 5. Я не знаю, как вы создаете counter_edited, поэтому я не знаю, что представляют собой столбцы вашего фасета, но не могли бы вы уменьшить количество категорий до 3 или 4? В сочетании с моим предложением по будням / выходным я дал бы вам сетки от 4x5 до 2x3. Намного более управляемый (хотя даже 4x5 может быть слишком сложным).

Короче говоря: даже если сделать ваш текущий графический c лучше технически возможно, я сомневаюсь, что это когда-либо будет практически полезным. Предлагаю другой подход. Вопрос, который я хотел бы задать, более глубокий, чем простой технический вопрос улучшения вашего графического c: какова ваша основная цель? Как только вы это узнаете, адаптируйте свою презентацию так, чтобы она наилучшим образом соответствовала вашей цели.

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