2017-08-20 44 views

答えて

8

これは右、新規性の目的のために純粋ですか?

以下のコードでは、青い曲線の上のドル建ての部分をgeom_ribbonで覆います。

library(jpeg) 
library(grid) 
library(ggplot2) 
library(scales) 
theme_set(theme_classic()) 

# Load image of dollar bill and convert to raster grob 
download.file("https://2marks.files.wordpress.com/2013/07/george-washington-on-one-dollar-bill.jpg", 
       "dollar_bill.jpg") 
db = readJPEG("dollar_bill.jpg") 
db = rasterGrob(db, interpolate=TRUE) 

# Fake data 
set.seed(3) 
dat = data.frame(x=1913:2009) 
dat$y2 = seq(5,950, length=nrow(dat)) + rnorm(nrow(dat), 0, 5) 
dat$y1 = seq(100,5,length=nrow(dat)) + c(0, -0.5, rnorm(nrow(dat) - 2, 0, 2)) 

ggplot(dat, aes(x, y1)) + 
    annotation_custom(db, xmin=1913, xmax=2009, ymin=0, ymax=100) + 
    geom_ribbon(aes(ymin=y1, ymax=100), fill="white") + 
    geom_line(size=1, colour="blue") + 
    geom_line(aes(y=y2/10), size=1, colour="red") + 
    coord_fixed(ratio=1/2.5) + 
    scale_y_continuous(limits=c(0,100), expand=c(0,0), 
        sec.axis=sec_axis(~.*10, name="Currency in Circulation\n(billions)", labels=dollar)) + 
    scale_x_continuous(limits=c(1913,2009), expand=c(0,0)) + 
    labs(x="", y="Purchasing Power\n(1913=100)") + 
    theme(axis.text.y.right=element_text(colour="red"), 
     axis.title.y.right=element_text(colour="red"), 
     axis.text.y=element_text(colour="blue"), 
     axis.title.y=element_text(colour="blue"), 
     axis.title.x=element_blank()) 

enter image description here

+0

ようなものが純粋主義者に思えるほど恐ろしい、chartjunkは明白な利点があります。http://hci.usask.ca/publications/view.php?id=173 – Brian

+0

も参照します。http: //steveharoz.com/research/isotype/ – Brian

関連する問題