0

ここに画像の説明を入力

私はカイロの設定を次のように使用しています

CairoPDF(file = "test2.pdf", width = 8.3, height = 11.7) 

テーマ設定は次のようになります。

mytheme<-theme_bw() +
         theme(plot.title = element_text(lineheight=.8, face="bold"),
               text=element_text(size=11, family="Times New Roman"))+ 
         theme(panel.border = element_rect(linetype = "dashed", 
                                           colour = "black"))+ 
         theme(plot.margin = unit(c(1,1.5,1,1.5), "inches"))

これはggplotのテーマ設定に問題があると思います。修正するためのアドバイスをください。ありがとう。

4

3 に答える 3

3

使うだけtheme_bw()でその特徴を再現できます。

df <- data.frame(lab = c('D1','D2','D3'),y = c(4,8,10),x= c(1,2,3))
library(Cairo)
#CairoPDF(file = "test2.pdf", width = 8.3, height = 11.7) 
library(grid)
library(ggplot2)
ggplot(df, aes(xmin = x-0.2, xmax = x + 0.2, ymin = 0, ymax = y,fill=lab)) +
  geom_rect()+xlim(labels = as.character(df$lab))+ theme_bw() 
dev.off()

Cairo と ggplot2 を組み合わせてテーマを使用すると、レンダリングの問題が発生するようです。

1 つの回避策は、単純な pdf で保存することです。この再現可能な例を使用して、他の人がより良い解決策を提供してくれることを願っています。

pdf(file = "test2.pdf", width = 8.3, height = 11.7) 
于 2013-01-28T16:01:01.677 に答える
1

これにより、特定の問題が解決される場合とされない場合がありますが、ピクセルスケーリングに関して「グリッド」オブジェクトでこの問題が発生することがよくあります。画像のサイズを少し小さくしたり大きくしたりすることで、問題を解決できることがよくあります。

次の手順を実行してトラブルシューティングを行います。

  • オブジェクトをスクリーン プロッティング デバイスに出力し、問題が解決しないかどうかを確認します。そうでない場合は、プロッティング デバイス (メモリ内) とエクスポータ (CairoPDF) の間に問題があります。その場合は、最初に画面に印刷してから、ファイルを保存してください。画面描画デバイスが適切なサイズであることを確認してください。
  • 'width' および 'height' 引数のサイズを調整してみてください。問題が変化したり、他の問題が発生したりする場合は、プロッティング デバイスのサイズとエクスポート ファイルの間のスケーリングに問題があります。windows(width=8.3, height=11.7, xpinch=72, ypinch=72)プロットを画面に出力する前に、次の形式を使用して、2 つのピクセルが正確に一致していることを確認してください。
  • 別の形式への直接エクスポートをテストします。問題が特定のエクスポーターだけにある可能性があります。問題なく PNG ファイルに直接印刷できる場合は、CairoPDF エクスポーターの動作に問題がある可能性があります。単純に他のファイル形式を使用するか、LibreOffice や ImageMagick などの別のプログラムを使用して PNG (または他のファイル) を手動で PDF に変換する方が簡単な場合があります。

幸運を!

于 2013-01-28T15:24:13.620 に答える