ggplotで特定のファセットを変更する方法

Gilean0709

facet_grid()を使用して、ggplotでさまざまなスコア(0〜100%)を表示する円グラフを作成しました。ただし、最後のスコアは他のスコアを組み合わせた合計スコアであり、他のスコアと区別しやすくするために、この特定のファセットのパラメーターを変更したいと思います。理想的には、ファセットラベルを太字にし、ファセットを他のファセットから少し遠ざけたいのですが、特定の1つのファセットのみのパラメーターを変更する方法がわかりません。

library(ggplot2)
df <- data.frame(label = c("A", "B", "Total"), score = c(60, 70, 65))

ggplot(df, aes(x = "", y = score)) + 
geom_bar(width = 1, stat = "identity") + 
coord_polar("y", start=0) + scale_y_continuous(limits = c(0, 100)) + 
facet_grid(. ~ label)

ここに画像の説明を入力してください

1. @ Richardが投稿したリンクに基づいてラベルを作成します

library(ggplot2)

df <- data.frame(label = c("A", "B", "Total"), score = c(60, 70, 65))

df$label2 <- factor(df$label, labels = c("A", "B", "bold(Total)"))

p1 <- ggplot(df, aes(x = "", y = score)) + 
  geom_bar(width = 1, stat = "identity") + 
  coord_polar("y", start=0) + scale_y_continuous(limits = c(0, 100)) + 
  facet_grid(. ~ label2, labeller = label_parsed)
p1

2.を使用してファセット間のスペースを変更します gtable

library(grid)
library(gtable)

# create gtable object
gt = ggplot_gtable(ggplot_build(p1))

レイアウトを確認してください

# gt$layout
# gt$layout$name
print(gt)

#> TableGrob (13 x 13) "layout": 23 grobs
#>     z         cells       name
#> 1   0 ( 1-13, 1-13) background
#> 2   1 ( 8- 8, 5- 5)  panel-1-1
#> 3   1 ( 8- 8, 7- 7)  panel-2-1
#> 4   1 ( 8- 8, 9- 9)  panel-3-1
#> 5   3 ( 6- 6, 5- 5)   axis-t-1
#> 6   3 ( 6- 6, 7- 7)   axis-t-2
#> 7   3 ( 6- 6, 9- 9)   axis-t-3
#> 8   3 ( 9- 9, 5- 5)   axis-b-1
#> 9   3 ( 9- 9, 7- 7)   axis-b-2
#> 10  3 ( 9- 9, 9- 9)   axis-b-3
#> 11  3 ( 8- 8, 4- 4)   axis-l-1
#> 12  3 ( 8- 8,10-10)   axis-r-1
#> 13  2 ( 7- 7, 5- 5)  strip-t-1
#> 14  2 ( 7- 7, 7- 7)  strip-t-2
#> 15  2 ( 7- 7, 9- 9)  strip-t-3
#> 16  4 ( 5- 5, 5- 9)     xlab-t
#> 17  5 (10-10, 5- 9)     xlab-b
#> 18  6 ( 8- 8, 3- 3)     ylab-l
#> 19  7 ( 8- 8,11-11)     ylab-r
#> 20  8 ( 4- 4, 5- 9)   subtitle
#> 21  9 ( 3- 3, 5- 9)      title
#> 22 10 (11-11, 5- 9)    caption
#> 23 11 ( 2- 2, 2- 2)        tag
#>                                             grob
#> 1                rect[plot.background..rect.121]
#> 2                        gTree[panel-1.gTree.29]
#> 3                        gTree[panel-2.gTree.46]
#> 4                        gTree[panel-3.gTree.63]
#> 5                                 zeroGrob[NULL]
#> 6                                 zeroGrob[NULL]
#> 7                                 zeroGrob[NULL]
#> 8             absoluteGrob[GRID.absoluteGrob.70]
#> 9             absoluteGrob[GRID.absoluteGrob.77]
#> 10            absoluteGrob[GRID.absoluteGrob.84]
#> 11            absoluteGrob[GRID.absoluteGrob.91]
#> 12                                zeroGrob[NULL]
#> 13                                 gtable[strip]
#> 14                                 gtable[strip]
#> 15                                 gtable[strip]
#> 16                                zeroGrob[NULL]
#> 17 titleGrob[axis.title.x.bottom..titleGrob.112]
#> 18   titleGrob[axis.title.y.left..titleGrob.115]
#> 19                                zeroGrob[NULL]
#> 20         zeroGrob[plot.subtitle..zeroGrob.117]
#> 21            zeroGrob[plot.title..zeroGrob.116]
#> 22          zeroGrob[plot.caption..zeroGrob.119]
#> 23              zeroGrob[plot.tag..zeroGrob.118]

レイアウトを視覚化する

library(lemon)
lemon::gtable_show_names(gt)

名前を確認してください

names(gt)

#>  [1] "grobs"         "layout"        "widths"        "heights"      
#>  [5] "respect"       "rownames"      "colnames"      "name"         
#>  [9] "gp"            "vp"            "children"      "childrenOrder"

widthsパラメータを見てください。これは、スペースが5.5pt各ファセットの間にあることを示しています1null)。

gt$widths

#>  [1] 5.5pt               0cm                 1grobwidth         
#>  [4] 0.173972602739726cm 1null               5.5pt              
#>  [7] 1null               5.5pt               1null              
#> [10] 0cm                 0cm                 0pt                
#> [13] 5.5pt

私たちは、GTの$幅を変更する必要がある[8]は間にスペース増加するBTotalファセットを

gt$widths[8] = 3*gt$widths[8]

結果を確認する

grid.newpage()
grid.draw(gt)

reprexパッケージ(v0.2.0.9000)によって2018-09-06に作成されました

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ggplot2ファセットの順序を変更する方法

分類Dev

Ubuntuでファイルのセットの名前を変更する方法

分類Dev

ggplotでファセットのサイズを変更するにはどうすればよいですか

分類Dev

ggplotで空のファセットを削除する方法は?

分類Dev

特定のコミットからファイルの変更を削除する方法

分類Dev

Hyperledgerファブリックでアセットの変更履歴を取得する方法

分類Dev

facet_wrapのファセットラベルを変更する方法

分類Dev

ggplotのファセットのストリップのサイズを変更するにはどうすればよいですか?

分類Dev

パターンでファイルのセットの名前を変更する方法

分類Dev

ggplotファセット内の要素の順序を変更します

分類Dev

変更された各ファセットをggplot2に保存する

分類Dev

Ggplot2:各ファセットの塗りつぶしの色を変更する

分類Dev

ファセットの存在に基づいてggplotテーマを条件付きで変更しますか?

分類Dev

ファセットggplotで順序付けられたx軸ラベルの名前を変更します

分類Dev

AndroidアセットのHTMLファイルを変更する

分類Dev

ファセットggplotの塗りつぶしの美的順序を変更するにはどうすればよいですか?

分類Dev

個々の ggplot ファセットで y 軸を反転する

分類Dev

2つの可変ファセットラッププロットでラベルRggplotを変更する

分類Dev

フォーマットを変更せずにファイル内の特定の列を削除する方法

分類Dev

jenkinsの特定のファイルの変更に基づいてビルドをセットアップする方法

分類Dev

ggplotヒートマップで空のセルの塗りつぶしの色を変更する方法

分類Dev

rのggplotで複数のファセットヒストグラムをプロットする方法は?

分類Dev

ggplot2のファセットプロットの各行のy軸の制限を変更します

分類Dev

gitで特定の変更をコミットする方法

分類Dev

TortoiseHgで特定のファイルを変更するすべてのコミットを検索します

分類Dev

AltairPythonで特定のファセットのみを表示する

分類Dev

特定のセルのapache poi 3.9のフォント色を変更する方法

分類Dev

1つのファセットタイトルのみの配置を変更することは可能ですか?

分類Dev

ggplot:2つの変数の特定の値のファセットラップを作成します

Related 関連記事

  1. 1

    ggplot2ファセットの順序を変更する方法

  2. 2

    Ubuntuでファイルのセットの名前を変更する方法

  3. 3

    ggplotでファセットのサイズを変更するにはどうすればよいですか

  4. 4

    ggplotで空のファセットを削除する方法は?

  5. 5

    特定のコミットからファイルの変更を削除する方法

  6. 6

    Hyperledgerファブリックでアセットの変更履歴を取得する方法

  7. 7

    facet_wrapのファセットラベルを変更する方法

  8. 8

    ggplotのファセットのストリップのサイズを変更するにはどうすればよいですか?

  9. 9

    パターンでファイルのセットの名前を変更する方法

  10. 10

    ggplotファセット内の要素の順序を変更します

  11. 11

    変更された各ファセットをggplot2に保存する

  12. 12

    Ggplot2:各ファセットの塗りつぶしの色を変更する

  13. 13

    ファセットの存在に基づいてggplotテーマを条件付きで変更しますか?

  14. 14

    ファセットggplotで順序付けられたx軸ラベルの名前を変更します

  15. 15

    AndroidアセットのHTMLファイルを変更する

  16. 16

    ファセットggplotの塗りつぶしの美的順序を変更するにはどうすればよいですか?

  17. 17

    個々の ggplot ファセットで y 軸を反転する

  18. 18

    2つの可変ファセットラッププロットでラベルRggplotを変更する

  19. 19

    フォーマットを変更せずにファイル内の特定の列を削除する方法

  20. 20

    jenkinsの特定のファイルの変更に基づいてビルドをセットアップする方法

  21. 21

    ggplotヒートマップで空のセルの塗りつぶしの色を変更する方法

  22. 22

    rのggplotで複数のファセットヒストグラムをプロットする方法は?

  23. 23

    ggplot2のファセットプロットの各行のy軸の制限を変更します

  24. 24

    gitで特定の変更をコミットする方法

  25. 25

    TortoiseHgで特定のファイルを変更するすべてのコミットを検索します

  26. 26

    AltairPythonで特定のファセットのみを表示する

  27. 27

    特定のセルのapache poi 3.9のフォント色を変更する方法

  28. 28

    1つのファセットタイトルのみの配置を変更することは可能ですか?

  29. 29

    ggplot:2つの変数の特定の値のファセットラップを作成します

ホットタグ

アーカイブ