web-dev-qa-db-ja.com

ggplot2、テーマを使用した後に軸が表示されない(axis.line = element_line())

_ggplot2_パッケージを使用してこの次のグラフを描画しようとしていますが、どういうわけか軸が表示されません。目盛りがあり、軸線ではありません。 theme(axis.line=element_line())関数を使用しましたが、機能しません。

ここに私のコードがあります:

_library(ggplot2)

ggplot(data = soepl_randsub, aes(x = year, y =satisf_org, group = id)) +
    geom_point() + geom_line() +ylab("Current Life Satisfaction") +theme_bw() +
    theme(plot.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank() ) +
    theme(panel.border= element_blank()) +
    theme(axis.line = element_line(color="black", size = "2")) 
_

何が悪かったのか分かりません。これがチャートです。

enter image description here

23
M.Zhao

バグはggplot2 v2.2.0で修正されました軸線を個別に指定する必要はなくなりました。

これはggplot2 v2.1.0のバグだと思います。 ( このバグレポート および this one を参照してください。)回避策は、x軸とy軸の線を別々に設定することです。

  library(ggplot2)

  ggplot(data = mpg, aes(x = hwy, y = displ)) + 
  geom_point() + 
  theme_bw() + 
  theme(plot.background = element_blank(),
         panel.grid.major = element_blank(),
         panel.grid.minor = element_blank() )+
  theme(panel.border= element_blank())+
  theme(axis.line.x = element_line(color="black", size = 2),
        axis.line.y = element_line(color="black", size = 2))
52
Sandy Muspratt

XとYの軸サイズを別々に指定する必要はありません。 size = "2"を指定する場合、Rは値2を非数値引数と見なします。したがって、軸線パラメーターはデフォルトは0サイズです。次のコード行を使用します。

ggplot(data = mpg, aes(x = hwy, y = displ)) + geom_point() +xlab("Date")+ylab("Value of Home")+theme_bw() +theme(plot.background = element_blank(),panel.grid.major = element_blank(),panel.grid.minor = element_blank()) + theme(panel.border= element_blank()) + theme(axis.line = element_line(color="black", size = 2))

axis_lineはRのlineを継承するため、デフォルト以外の値にはサイズの指定が必須です。

3
vivek