37

データ以外の情報がないプロットを作成しようとしています。軸なし。グリッドなし。タイトルなし; ただのプロット。

しかし、私は削除できない余分なマージンとパディングを取得し続けます。

library(ggplot2)
library(grid)

theme_bare <- theme(
  axis.line = element_blank(), 
  axis.text.x = element_blank(), 
  axis.text.y = element_blank(),
  axis.ticks = element_blank(), 
  axis.title.x = element_blank(), 
  axis.title.y = element_blank(), 
  #axis.ticks.length = unit(0, "lines"), # Error 
  axis.ticks.margin = unit(c(0,0,0,0), "lines"), 
  legend.position = "none", 
  panel.background = element_rect(fill = "gray"), 
  panel.border = element_blank(), 
  panel.grid.major = element_blank(), 
  panel.grid.minor = element_blank(), 
  panel.margin = unit(c(0,0,0,0), "lines"), 
  plot.background = element_rect(fill = "blue"),
  plot.margin = unit(c(0,0,0,0), "lines")
)

ggplot() + 
  geom_area (data=economics, aes(x = date, y = unemploy), linetype=0) +
  theme_bare

この画像を生成します:プロット

私が欲しいのはこれです:理想的なプロット

青を取り除き、濃い灰色をエッジと同じ高さにする方法がわかりません。

誰かアドバイスをいただけますか?

4

4 に答える 4

34

パネル領域のみをプロットする方法は次のとおりです。

p <- ggplot() + geom_area (data=economics, aes(x = date, y = unemploy), linetype=0) +
  scale_x_date(expand = c(0,0)) + scale_y_continuous(expand = c(0,0)) +
  theme(line = element_blank(),
        text = element_blank(),
        title = element_blank())

gt <- ggplot_gtable(ggplot_build(p))
ge <- subset(gt$layout, name == "panel")

grid.draw(gt[ge$t:ge$b, ge$l:ge$r])

ここに画像の説明を入力

于 2013-01-14T11:00:22.533 に答える
29

あなたからggplot2_2.0.0使用することができますtheme_void

ggplot() + 
  geom_area(data = economics, aes(x = date, y = unemploy), linetype = 0) +
  theme_void()

ここに画像の説明を入力

于 2016-03-01T22:14:15.097 に答える
10

試す

last_plot() + theme(axis.ticks.length = unit(0.001, "mm")) + labs(x=NULL, y=NULL)

ティックの長さが 0 の場合は、バグを報告することをお勧めします。

于 2013-01-14T07:53:16.757 に答える
0

theme_bw() でグリッドを削除するだけの場合は、次を使用できます。

+ theme_bw() + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
于 2021-07-22T07:32:35.933 に答える