(См. Внизу сообщения для обновления)
Начальное сообщение, 2014-07-29 11: 43: 38Z
Я видел эту графику на веб-сайте Economist и задавался вопросом, возможно ли создать geom_bar()
с geom_bar()
иллюстративными значками? (фиктивные данные ниже)
Фиктивные данные,
require(ggplot2)
# Generate data
df3 <- data.frame(units = c(1.3, 1.8, 2.7, 4.2, 4.7, 6.7, 20),
what = c('Wikipedia', 'London Olympic Park', 'Aircraft carrier',
'The Great Pyramid', 'Stonehenge', 'Burj Khalifas',
'Empire State Building'))
# make gs an ordered factor
df3$what <- factor(df3$what, levels = df3$what, ordered = TRUE)
#plots
ggplot(df3, aes(what, units)) + geom_bar(fill="white", colour="darkgreen",
alpha=0.5, stat="identity") + coord_flip() + scale_x_discrete() +
scale_y_continuous(breaks=seq(0, 20, 2)) + theme_bw() +
theme(axis.title.x = element_blank(), axis.title.y = element_blank())
Обновление № 1, 2014-07-29 15: 07: 51Z
Очевидно, что Роберт Грант начал создавать функцию R для создания гистограмм с пиктограммами, ее можно найти на Github. Спасибо Андри за эту информацию. В настоящее время я работаю, чтобы посмотреть, сможет ли функция Роберта сделать то, что я ищу.
Пожалуйста, сообщите, если у вас есть какие-либо советы о том, как ответить на мой вопрос с помощью функции Роберта.
Обновление № 2, 2014-08-02 12: 35: 19Z
Вот простая иллюстрация того, как работает функция R-пиктограммы Гранта
# in case you don't alredy have RCurl
# install.packages("RCurl", dependencies = TRUE)
source_github <- function(u) {
# load package
require(RCurl)
# read script lines from website and evaluate
script <- getURL(u, ssl.verifypeer = FALSE)
eval(parse(text = script),envir=.GlobalEnv)
}
Получил этот скрипт из этого SO ответа
source_github("https://raw.githubusercontent.com/robertgrant/pictogram/master/pictogram.R")
# install.packages("png", dependencies = TRUE)
require(png)
img <- readPNG(system.file("img", "Rlogo.png", package="png"))
pictogram(icon = img, n = c( 12, 35, 7),
grouplabels=c("12 R logos","35 R logos","7 R logos"))
Это дает вам такой сюжет