2016-04-19 12 views
0

私はコードに従うことによって、私の姿を保存しようとするR、今日に新しいです:なぜ私のpngファイルが見えないのですか?

powerplant <- ggplot(Emission.l, aes(x = Year, y = value, fill = variable))+ 
    theme(axis.text.x = element_text(angle = 90, hjust = 1))+ 
    geom_bar(stat = 'identity', position = 'dodge') + 
    ggtitle(Emission.Aerosol$Facility.Name)+ 
    ylab("Emission(Tons)")+scale_fill_discrete(name = '', labels = c('SO2 (tons)', 'NOx (tons)')) + 
    scale_x_continuous(breaks = 2003:2015) 

png(file = paste0(Emission.Aerosol$Facility.Name,".png"), 
    width = 439, height = 266, units = "px",pointsize = 12, 
    bg = "transparent") 
dev.off() 

その後、私はPNG形式のファイルを見ることができますが、私のフォルダに作成されたが、それは唯一の白い人物でした。 私のコードに何が間違っているか教えてください。 ありがとう!

+0

なぜggsave()を使用しないのですか? –

+0

あなたが作業しているデータセットへのリンクを提供すると、リチャーズの推奨をサポートします。 – Technophobe01

+0

これは動作します!どうもありがとう ! –

答えて

0

一般的に、ggplot()の構造を以下に詳述するように分離するのがよりクリーンであることがわかります。これにより、プロット文法を構築するときにggplotの構築が楽になります。どのように保存/印刷するかを選択します。

こちらがお役に立てば幸いです。

require(ggplot2) 

    gp <- ggplot(Emission.l, aes(x = Year, y = value, fill = variable)) 
    gp <- gp + theme(axis.text.x = element_text(angle = 90, hjust = 1)) 
    gp <- gp + geom_bar(stat = 'identity', position = 'dodge') 
    gp <- gp + ggtitle(Emission.Aerosol$Facility.Name) 
    gp <- gp + ylab("Emission(Tons)") 
    gp <- gp + scale_fill_discrete(name = '', 
            labels = c('SO2 (tons)', 'NOx (tons)')) 
    gp <- gp + scale_x_continuous(breaks = 2003:2015) 

    powerplant <- gp 
    print(powerplant) 
    dev.off() 
+0

@ Pete Jarvisありがとうございました!しかし、方法、あなたはバーの色を設定する方法を知っていますか?たとえば、赤色のSO2と青色のNOxを設定します。新規ユーザーにとって非常に役立つあなたの助言に感謝します! –

+0

あなたの助けに感謝します。私は前にその資源をチェックするが、種類は失われる。それが私の初めてのプロットです。あなたのヒントをありがとうが、コードを追加した後:私は "エラー:美学は長さ1またはデータ(26)と同じでなければならない:"を取得します。 –

+0

コードは 'Emission.l < - melt(Emission.Aerosol、id.vars = 'Year'、 measure.vars = c( 'SO2.tons'、 'NOx.tons'))です。 gp < - ggplot (Emission.l、AES(X =年、Y =値、塗りつぶし=可変)) GP < - GP +テーマ(axis.text.x = ELEMENT_TEXT(角度= 90、hjust = 1)) GP < - GP + geom_bar(STAT = 'アイデンティティ' は、位置=)( "赤" "青" = cを満たす、 'かわす') GP < - GP + ggtitle(Emission.Aerosol $ Facility.Name) GP < - GP + gp + - scale_x_continuous( "SO2(tons)"、NOx(tons))) gp < - gp + scale_x_continuous休憩= 2003:2015) ' –

2

は、

png(...) 
print(powerplant) 
dev.off() 

またはちょうどggsaveを使用してみてください。 pngコマンドは実際にディスクにプロットを配置しません。空白のpngファイルを作成するだけで、プロットを受け取る準備ができます。実行した後、printによって、ggplotまたはlatticeのグラフィックスをデバイスに送信します。基本グラフィックスコマンドは、デバイスに直接送信されます。

+0

ありがとうございました! –

関連する問題