Как избежать пересчета (для точек) с помощью базового графика?
Я нахожусь на своем пути завершения графиков для статьи и решил (после обсуждения статистика.сайте StackOverflow), чтобы передать как можно больше информации, создать следующий график, который представляет как на переднем плане средства, так и на заднем плане необработанные данные:
однако остается одна проблема, и это перерасход. Например, отмеченная точка выглядит так, как будто она отражает одну точку данных, но на самом деле существует 5 точек данных с та же цена в том месте.
поэтому я хотел бы знать, есть ли способ справиться с пересаживанием в base graph
используя points
функции.
Было бы идеально, если, например, соответствующие точки становятся темнее или толще или...
вручную это не вариант (слишком много графиков и точек, подобных этому). Более того,ggplot2
это также не то, что я хочу научиться решать эту единственную проблему (одна из причин заключается в том, что мне нравятся двойные оси не supprted в ggplot2
).
обновление: я написал функцию, которая автоматически создает вышеуказанные графики и избегает перерасчета путем добавления вертикального или горизонтального дрожания (или обоих):зацените!
эта функция теперь доступна как raw.means.plot
и raw.means.plot2
на plotrix
пакет (на CRAN).
4 ответов
стандартный подход-добавить некоторый шум к данным перед построением графика. 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))
помимо дрожания, еще один хороший подход-Альфа-смешивание, которое вы можете получить (на графических устройствах, поддерживающих его) в качестве четвертого цветового параметра. Я привел пример "пересчета" двух гистограмм в это так вопрос.
одна дополнительная идея для общей проблемы отображения количества точек-использование коврового участка (функция ковра), это ставит небольшие галочки вдоль поля, которые могут показать, сколько точек вносят вклад (все еще используйте дрожание или альфа-смешивание для связей). Это позволяет фактическим точкам показывать свои истинные, а не дрожащие значения, но ковер может указывать, какие части участка имеют больше значений.
для примера прямого дрожания графика или альфа-смешивания, вероятно, лучше всего, но в некоторых других случаях ковер сюжет может быть полезным.
вы также можете использовать sunflowerplot, хотя было бы трудно реализовать. Я бы использовал Альфа-смешение, как предложил Дирк.