Прежде чем спросить, я прочитал это post, но мой более конкретный.Как получить 100 номеров для каждой ячейки в ggplot2 с geom_bin2d
library(ggplot2)
library(scales)
set.seed(1)
dat <- data.frame(x = rnorm(1000), y = rnorm(1000))
я заменяю свои реальные данные с dat
, область х и у [-4,4] в этой случайной семени, и я разделить площадь на 256 (16 * 16) клеток, интервал который равен 0,5. Для каждой ячейки я хочу получить номера счетчиков.
Да, это довольно легко, geom_bin2d
может решить.
# plot
p <- ggplot(dat, aes(x = x, y = y)) + geom_bin2d()
# Get data - this includes counts and x,y coordinates
newdat <- ggplot_build(p)$data[[1]]
# add in text labels
p + geom_text(data=newdat, aes((xmin + xmax)/2, (ymin + ymax)/2,
label=count), col="white")
До сих пор так хорошо, но я только хочу, чтобы получить топ 100 подсчета числа и сюжет в ПОС, как рис ниже.
После прочтения ?geom_bin2d
, drop = TRUE
удаляет только все ячейки с 0 подсчетов, и мое беспокойство топ-100 на счету. Что мне делать, это вопрос 1.
Просьба посмотреть еще на legend
второго рисунка, количество отсчетов мало и близко, а если оно 10 000, 20 000, 30 000.
Метод используется trans
в scale_fill_gradient
, встроенная функция exp, log, sqrt и т. Д., Но я хочу разделить 1000. Затем я нашел trans_new()
в пакете scales
и попробовал, но отрицательный.
sci_trans <- function(){ trans_new('sci', function(x) x/1000, function(x) x*1000)}
p + scale_fill_gradient(trans='sci')
И это вопрос 2. Я гугл много, но не может найти способ решить эту проблему, спасибо много для тех, кто делает мне одолжение, спасибо!
@ user20650 Я прочитал ваш ответ на этот [пост] (HTTP : //stackoverflow.com/questions/28771018/getting-counts-on-bins-in-a-heat-map-using-r), не могли бы вы оказать мне услугу? Спасибо –
Связано: [Как использовать stat_bin2d() для вычисления меток в ggplot2?] (Http: // stackoverflow.com/questions/27476327/how-to-use-stat-bin2d-to-compute-counts-labels-in-ggplot2), где комментарий @MrFlick цитирует Хэдли с 2010 года: «В основном он говорит, что вы не можете использовать stat_bin2d, вам придется делать сводку самостоятельно ». Ни stat_bin2d, ни stat_summary_2d, по-видимому, не выставляют свои выходные и подсчеты. – smci