2016-07-26 14 views
0

Ich benutze ggplot, um Rezession Bars in Rstudio hinzuzufügen. Wenn ich es jedoch als Metadatei und Einfügen kopiere, verschwinden die Balken. Ich habe auch dieses Problem in Matlab mit replesplot beim Kopieren als eps gefunden.disppeared rezessionsleiste beim kopieren als metafile

Folgendes ist mein Code.

bplot2 <- ggplot(yfit6.df, aes(x=date, y=yfit6,group = 1)) + 
    scale_x_yearqtr(limits = c(min(yfit6.df$date), max(yfit6.df$date)), 
        format = "%YQ%q")+ 
    ylim(c(0,1))+geom_line(aes(y=yfit6.df$yfit6), colour = 'grey40',size=0.8) + 
    ylab("Recession probability") + 
    ggtitle("6 Month Ahead In-sample Forecasts")+theme(plot.title = element_text(lineheight=.9, face="bold",size=20),text = element_text(size=17)) 
print(bplot2) 
###add recession bar### 
bplot2<-bplot2+geom_area(data=as.data.frame(y6),aes(x=yfit6.df$date, y=y6),alpha=0.2) 
print(bplot2) 

Die nomal Diagramm sieht wie folgt aus enter image description here

Allerdings, wenn ich es als Metafile und Paste kopieren, ist es wie dieser enter image description here

Was soll ich tun? Dank

+0

Was Sie meinen damit „es als Metafile kopieren“? Und wo fügst du es ein? –

+0

Ich habe auf Export geklickt --- in die Zwischenablage kopieren --- als Metadatei kopieren. Der Normalfall ist das Kopieren als Bitmap. Ich habe es in eine PowerPoint-Datei eingefügt. Danke – Rong

+0

Interessant, diese Option existiert nicht für mich - es ist wahrscheinlich nur Windows. Auf jeden Fall ist eine Windows Metafile * keine * Bitmap. Es ist mehr wie eine Vektorgrafik. Das Problem ist, dass (soweit ich weiß) PowerPoint dieses Format nie vollständig unterstützt hat und PowerPoint außerdem einige bekannte Fehler bezüglich der Neuskalierung von Vektorgrafiken hat. Sie sollten stattdessen eine hochauflösende Bitmap exportieren und einfügen. –

Antwort

0

Die EPS-Dateien, die von R erzeugt keine Transparenzdaten enthalten, siehe this prior question.

Ich verwende die folgende Abhilfe EPS zu generieren:

library(grDevices) 
cairo_ps(filename='Figure.eps', width=7, height=5) 
last_plot() 
dev.off() 
+0

Danke Patrick. Es klappt! – Rong

+0

@Rong Großartig! Fühlen Sie sich frei, die Frage zu beantworten und zu antworten. – patrickmdnet