Как избежать переполнения (для точек) с помощью базового графа?

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

Тем не менее, остается одна проблема - это перетерпение. Например, отмеченная точка выглядит так, как будто она отражает одну точку данных, но на самом деле в этом месте существует 5 точек данных с одинаковым значением.
Поэтому я хотел бы знать, есть ли способ справиться с переполнением в базовый граф с использованием точек в качестве функции.
Было бы идеально, если, например, соответствующие точки становятся темнее, или толще, или ...

Выполнение вручную не вариант (слишком много графиков и точек, как это). Кроме того, ggplot2 также не то, что я хочу научиться решать эту единственную проблему (одна из причин заключается в том, что я склонен любить двойные оси, что не поддерживается в ggplot2 ). 126] ​​Обновление: Я написал функцию, которая автоматически создает вышеприведенные графики и избегает переполнения, добавляя вертикальный или горизонтальный джиттер (или оба): проверьте это!

Эта функция теперь доступна как raw.means. plot и raw.means.plot2 в пакете plotrix (на CRAN).

14
задан Community 13 April 2017 в 12:44
поделиться

3 ответа

Стандартный подход заключается в добавлении некоторого шума к данным перед построением графика. В R есть функция jitter(), которая делает именно это. Вы можете использовать его, чтобы добавить необходимый шум к координатам на вашем графике. например:

X <- rep(1:10,10)
Z <- as.factor(sample(letters[1:10],100,replace=T))

plot(jitter(as.numeric(Z),factor=0.2),X,xaxt="n")
axis(1,at=1:10,labels=levels(Z))
14
ответ дан 1 December 2019 в 09:11
поделиться

Вы также можете использовать sunflowerplot, хотя это будет сложно реализовать здесь. Я бы использовал альфа-смешивание, как предложил Дирк.

3
ответ дан 1 December 2019 в 09:11
поделиться

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

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

4
ответ дан 1 December 2019 в 09:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: