Какой пакет должен быть установлен в R для точечных диаграмм с логарифмическим биннингом? - PullRequest
1 голос
/ 06 июля 2011

Я пытаюсь создать несколько диаграмм рассеяния высокой плотности с R. Какой пакет должен быть установлен для этого? Или есть какой-нибудь другой способ получить участки.

Ответы [ 3 ]

2 голосов
/ 06 июля 2011

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

Сначала некоторые данные:

dfr <- data.frame(x = rlnorm(1e5), y = rlnorm(1e5))

В базовой графике:

with(dfr, plot(x, y, log = "xy"))

В решетчатой ​​графике:

library(lattice)
p1 <- xyplot(y ~ x, dfr, scales = list(log = TRUE))
p1

В графике ggplot2 (потребуется установить этот пакет + зависимости):

library(ggplot2)
p2 <- ggplot(dfr, aes(x, y)) + 
  geom_point() + 
  scale_x_log10() + 
  scale_y_log10()
p2
1 голос
/ 26 апреля 2012

Я только что пытался изобразить это недавно;и только что закончился использованием стандартной функции Hist () с пользовательским набором разрывов:

x <- your data
nbreaks <- 50 # how many points do you want in your scatter plot
breaks <- exp(seq(log(min(x)), log(max(x)), len=nbreaks))
hh <- hist(x, breaks, plot=FALSE)
plot(hh$mids, hh$density, log="xy")

Т.е. создайте экспоненциально распределенный набор разрывов и сгенерируйте гистограмму, но вручную построите плотности, контролирующие, какие осизарегистрированы.

0 голосов
/ 06 июля 2011

ggplot2?- см. примеры для geom_point (с использованием альфы) или geom_hex

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