93

水平 (x) 配置の指標として棒で十分な棒グラフを作成しているので、余分な垂直グリッド線を描画することは避けたいと思います。

opts() で副グリッド線と主グリッド線のスタイルを設定する方法は理解していますが、垂直グリッド線だけを非表示にする方法を一生理解することはできません。

library(ggplot2)

data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))

ggplot(data, aes(x, y)) +
  geom_bar(stat = 'identity') +
  opts(
    panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'),
    panel.grid.minor = theme_line(colour = NA),
    panel.background = theme_rect(colour = NA),
    axis.ticks = theme_segment(colour = NA)
  )

この時点で、すべてのグリッド線を非表示にしてから geom_hline() でそれらを元に戻す必要があるように見えます。 / geom_hline() にフィードする主要なグリッド線の位置。)

どんな考えでも大歓迎です!

4

5 に答える 5

191

ggplot2 0.9.2 の時点で、これは「テーマ」を使用して行うのがはるかに簡単になりました。以下に示すように、テーマを panel.grid.major.x と panel.grid.major.y に個別に割り当てることができるようになりました。

#   simulate data for the bar graph
data <- data.frame( X = c("A","B","C"), Y = c(1:3) )    

#   make the bar graph
ggplot( data  ) +
    geom_bar( aes( X, Y ) ) +
    theme( # remove the vertical grid lines
           panel.grid.major.x = element_blank() ,
           # explicitly set the horizontal lines (or they will disappear too)
           panel.grid.major.y = element_line( size=.1, color="black" ) 
    )

この例の結果はかなり見栄えが悪いですが、水平線と x 軸の目盛りを維持しながら垂直線を削除する方法を示しています。

于 2012-01-24T18:32:55.003 に答える
28

使ってみて

scale_x_continuous(休憩 = NULL)

これにより、すべての垂直グリッド線と x 軸の目盛りラベルが削除されます。

于 2010-04-21T06:55:49.140 に答える