Хобрук: Ваш путь к мастерству в программировании

Нанесение гистограмм или круговых диаграмм на точечную диаграмму

Мне нужно повторить то, что сделано в: крошечные круговые диаграммы для представления каждой точки диаграммы рассеяния с использованием ggplot2, но я столкнулся с проблемой, что пакет ggsubplot недоступен для версии 3.3.1 R.

По сути, мне нужна гистограмма или круговая диаграмма в предопределенных точках на диаграмме рассеяния. Вот тот же код, который используется в цитируемом сообщении:

foo <- data.frame(X=runif(30),Y=runif(30),A=runif(30),B=runif(30),C=runif(30))
foo.m <- melt(foo, id.vars=c("X","Y"))
ggplot(foo.m, aes(X,Y))+geom_point()
ggplot(foo.m) +
    geom_subplot2d(aes(x = X, y = Y, subplot = geom_bar(aes(variable, 
value, fill = variable), stat = "identity")), width = rel(.5), ref = NULL)

В коде использовались библиотеки reshape2, ggplot2 и ggsubplot.

Изображение, которое я хочу видеть, находится в сообщении, процитированном выше

UPD: я скачал старые версии R (3.0.2 и 3.0.3) и пакет контрольных точек и использовал:

checkpoint("2014-09-18")

как было описано в комментарии ниже. Но я получаю сообщение об ошибке:

Using binwidth 0.0946
Using binwidth 0.0554
Error in layout_base(data, vars, drop = drop) : 
At least one layer must contain all variables used for facetting

Что я не могу обойти, потому что когда я пытаюсь включить фасет, возникает следующая ошибка:

Error: ggsubplots do not support facetting

Ответы:


1

Не похоже, что ggsubplot скоро исправится. Одним из вариантов может быть использование пакета контрольной точки и, по сути, "сброс" вашей копии R до время, когда пакет был совместим. В этом сообщении предлагается использовать временную точку 18 сентября 2014 года.

09.10.2016
  • Благодарю вас! Я установил r версии 3.0.2 и пакет контрольной точки, а также все пакеты, необходимые для кода. Я запустил код, и появились следующие ошибки: Использование ширины бина 0,0946 Использование ширины бина 0,0554 Ошибка в layout_base(data, vars, drop = drop): по крайней мере один слой должен содержать все переменные, используемые для фасетирования. Вы случайно не знаете, что это за ошибка означает? 10.10.2016
  • Новые материалы

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..