1
私はggplot2を使って患者BMIのボックスプロットをグラフ化していますが、x軸のテキストに問題があります。私は単位をBMI(kg/m2)に含めたいと思います。私は "2"を上付きにしたいと思います。私はこのように私のグラフを作るとき:「式」を使ってggplot2軸のテキストに特殊文字をつけるときのテキストの整列
require(plyr)
require(ggplot2)
Weights <- data.frame(SubjectID = 1:500,
Weight = rnorm(500, 28, 7))
Weights$Cat <- cut(Weights$Weight, breaks = c(0, 18.5, 25, 30, 40, Inf),
right = FALSE)
Weights$BMIcat <- revalue(Weights$Cat,
c("[0,18.5)" = "Underweight\n(<18.5 kg/m2)",
"[18.5,25)" = "Normal weight\n(18.5 to 24.9\nkg/m2)",
"[25,30)" = "Overweight\n(25 to 29.9\nkg/m2)",
"[30,40)" = "Obese\n(30 to 39.9\nkg/m2)",
"[40,Inf)" = "Severely obese\n(>40 kg/m2)"))
ggplot(Weights, aes(x = BMIcat, y = Weight)) +
geom_boxplot() +
xlab("BMI category") + ylab("Weight (kg)")
すべてがことを除いて、美しく見える2さんは上付きではありません。私はこの仕事をするためにexpression
を使用しようとしている、とここで私が作ってみたのが最善です:
ggplot(Weights, aes(x = Cat, y = Weight)) +
geom_boxplot() +
scale_x_discrete(breaks=c("[0,18.5)", "[18.5,25)", "[25,30)",
"[30,40)", "[40,Inf)"),
labels=c(
expression("Underweight\n(<18.5 kg/m"^2*")"),
expression("Normal weight\n(18.5 to 24.9\nkg/m"^2*")"),
expression("Overweight\n(25 to 29.9\nkg/m"^2*")"),
expression("Obese\n(30 to 39.9\nkg/m"^2*")"),
expression("Severely obese\n(>40 kg/m"^2*")"))) +
xlab("BMI category") + ylab("Weight (kg)")
は今、私の2sが上付きですが、他のすべてはひどい見えます。それは突然左に出ているか、まったく正当化されていないかのように見えます。2はmから離れていることがあり、軸のテキストがグラフに重なってしまいます。助言がありますか?