Arhn - архитектура программирования

Отображение метки значения оси X в верхней части гистограммы

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

используя аналогичный histogram-ggplot-show-count -метка-для-каждой-корзины-для-каждой-категории

  ggplot(aes(x = price ), data = diamonds) + 
  geom_histogram(aes(fill = cut ), binwidth=1500, colour="grey20", lwd=0.2) +
  stat_bin(binwidth=1500, geom="text", colour="white", size=3.5,
           aes(label=..count.., group=cut, y=0.8*(..count..))) +
  scale_x_continuous(breaks=seq(0,max(diamonds$price), 1500))

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

Когда я меняю label=..count.. на ..price.., я получаю

Ошибка в FUN(X[[i]], ...): объект 'цена' не найден

Как я могу поместить значение price поверх каждой гистограммы?

заранее спасибо!

12.03.2018

  • В этой теме, похоже, есть ваш ответ. Re: ваша ошибка, ..count.. — это специальная встроенная переменная stat, которая вызывает что-то похожее на sum 12.03.2018
  • Как вы будете решать, какое единичное значение цены показывать для корзины? Ящики содержат диапазон цен. 12.03.2018
  • @MrFlick Это хороший момент. Что-то вроде среднего значения в порядке! 12.03.2018

Ответы:


1

Это как-то склеено. Я не знаю, как переопределить что-то вроде специальной переменной ..count.. для такой функции, как среднее или медиана. Вместо этого я рассчитал среднее значение цены в каждой ячейке, а затем annotate-d. Я решил не помещать среднюю цену поверх баров, так как это могло бы ошибочно предположить читателю, что это подсчеты, но это не так.

library(plyr)
mean.cut <- ddply(diamonds, .(cut(price,seq(0,max(diamonds$price), 1500))), 
                              summarize, v=mean(price))

ggplot(diamonds) +geom_histogram(aes(x=price,fill = cut ), binwidth=1500, 
                                 colour="grey20", lwd=0.2) +  
  scale_x_continuous(breaks=seq(0,max(diamonds$price), 1500))+
  annotate("text", x=seq(0,max(diamonds$price), 1500),  y=mean.cut$v,
                  label=round(mean.cut$v,0))

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

Я поэкспериментировал с форматированием значения цены, и мне понравился этот код для меток различных опций, которые я пробовал:

label=sprintf(" $%-5s", round(mean.cut$v,-1) )
12.03.2018
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..