2017-10-06 44 views
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)") 

graph with pretty axis text

すべてがことを除いて、美しく見える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)") 

ugly axis text but superscripted

は今、私の2sが上付きですが、他のすべてはひどい見えます。それは突然左に出ているか、まったく正当化されていないかのように見えます。2はmから離れていることがあり、軸のテキストがグラフに重なってしまいます。助言がありますか?

答えて

1

あなただけLatin-1 block

Weights$BMIcat <- revalue(Weights$Cat, 
          c("[0,18.5)" = "Underweight\n(<18.5 kg/m²)", 
          "[18.5,25)" = "Normal weight\n(18.5 to 24.9\nkg/m²)", 
          "[25,30)" = "Overweight\n(25 to 29.9\nkg/m²)", 
          "[30,40)" = "Obese\n(30 to 39.9\nkg/m²)", 
          "[40,Inf)" = "Severely obese\n(>40 kg/m²)")) 
ggplot(Weights, aes(x = BMIcat, y = Weight)) + 
     geom_boxplot() + 
     xlab("BMI category") + ylab("Weight (kg)") 

With Unicode superscript

からUnicodeの上付き文字2つの文字を使用することができます
関連する問題