0

カスタマイズした ggplot2 テーマに問題があります。すべてのテキストが angle=0 になるようにカスタマイズしたテーマ内で、これはテーマを説明するときに必須のオプションです。しかし、y軸ラベルも水平方向に向けられますが、プロットに収まらないため、角度= 90にしたいと思います。カスタム テーマの私のコードは次のとおりです。

windowsFonts(Courier=windowsFont("Courier"))
my_theme<-function (base_size = 12, base_family = "")
{

    theme(text = element_text(size = base_size, family = "Courier", face
                              = "plain",
                              colour = "black", hjust = 0.5, vjust = 0.5,
                              angle = 0, lineheight = 0.9),
          axis.text  = element_text(size = rel(0.8)),
          axis.ticks = element_line(colour = "black"),
          axis.title.y = element_text(vjust=0.1,angle=90),
          legend.key = element_rect(colour = "grey80"),
          plot.title = element_text(size = rel(2), colour = "blue",face="bold"),
          legend.title = element_text(size = rel(1), colour = "blue"),
          panel.background = element_rect(fill = "white",colour = NA),
          panel.border = element_rect(fill = NA, colour = "grey50"),
          panel.grid.major = element_line(colour = "grey50", size = 0.33,linetype="dashed"),
          panel.grid.minor = element_blank(),
          strip.background = element_rect(fill = "grey80", colour = "grey50"),
          strip.background = element_rect(fill = "grey80", colour = "grey50"))
}

ここで、axis.title.y=element_text(vjust=0.1,angle=90) を追加しますが、プロットを描画すると、角度 = 0 のままです。次に、手動で再度追加しました。

p <- ggplot(data, aes(x=variable))
p + geom_histogram()+ 
   labs(title = "Plot title",x = "X title", y="Y title")+
   my_theme()+theme(axis.title.y=element_text(angle=90))

しかし、まだ運がありません。テーマなしでプロットを描画すると、すべて問題ないので、プロット内のテキストの角度を修正するのは text=element_text(...) の「角度」オプションだと思います。テーマの使用中に y 軸のタイトルを回転させる方法はありますか? どんな提案でも大歓迎です:)

UPD: ggplot2 パッケージの diamonds db を使用した例: データセットのヘッド:

   carat price color clarity
1   0.23   326     E     SI2
2   0.21   326     E     SI1
3   0.23   327     E     VS1
4   0.29   334     I     VS2
5   0.31   335     J     SI2
6   0.24   336     J    VVS2
7   0.24   336     I    VVS1
8   0.26   337     H     SI1
9   0.22   337     E     VS2
10  0.23   338     H     VS1

ご覧のとおり、プロットは左側がトリミングされているため、完全なタイトルを表示していません

data(diamonds)
p <- ggplot(data=diamonds, aes(x=clarity, y=price, fill=clarity)) 
p+geom_bar(width=.7, stat="identity") + 
+     guides(fill=FALSE)+my_theme()+theme(
+         axis.title.y=element_text(angle=90))+
+     xlab("X title")+ylab("Y title")+
+     ggtitle("The big title")

ここに画像の説明を入力

4

0 に答える 0