2017-06-13 1 views
1

どのようにしてファセットラベルに表示させることができますか?ユニコードをggplotグラフのfacet_wrap(en_US.UTF-8ロケール)

多くの関連記事が浮かんでいますが、誰も私のためにこのトリックをやっていません。

enter image description here

:私はこのプロット(不足しているファセットラベルに注意してください)を取得...

library(ggplot2) 

facets <- c('✓', '✗') 
facets2 <- c('\u2713', '\u2717') 
facets3 <- c('check', 'x') 

set.seed(123) 
my_df <- data.frame(x = runif(40), y = runif(40), 
        z = rep(facets, each=20), 
        stringsAsFactors = F) 

ggplot(my_df, aes(x, y, color=z)) + geom_point() + 
    facet_wrap(~z) + 
    theme(legend.position = 'none') 

:このコードは与えられた、だから、

(私はどれも重複が終わりではない、なぜ取り組みます)

facets2をラベルに使用すると同じ結果が得られますが(つまり、リテラルではなくエスケープされたcharコードを指定していますが)、もちろんfacets3を使用するとすべてが表示されます。

マイsessionInfo()

私はR Studioの1.0.136を使用していて、私のsessionInfo()この

約1

R version 3.3.1 (2016-06-21) 
Platform: x86_64-apple-darwin13.4.0 (64-bit) 
Running under: OS X 10.11.6 (El Capitan) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] ggplot2_2.2.1 

loaded via a namespace (and not attached): 
[1] labeling_0.3  colorspace_1.2-6 scales_0.4.1  assertthat_0.1 lazyeval_0.2.0 
[6] plyr_1.8.4  tools_3.3.1  gtable_0.2.0  tibble_1.2  Rcpp_0.12.11.2 
[11] grid_3.3.1  digest_0.6.12 munsell_0.4.3 

の他の記事である)これらは(何の答えを持っていないUnicode characters in ggplot labelsutf-8 in ggplot axis labelsこれは基本的に同じですUse a half filled squares on ggplot2 facet_wrap labelsHow can I get a unicode symbol into factor levels for a ggplot?

2)例えば、最も一般的な解決策はcairo_pdf()が関与しているようだ(ggplot unicode characters without Cairo?

3)これを約ギリシャ文字ではなく、任意のUnicodeである、と答えはとにかく私のために動作するようには思えませんこの投稿に示唆されているように:using Unicode 'dingbat-like' glyphs in R graphics, across devices & platforms, especially PDF

しかし、これはR Studioのプレビューウィンドウではなく、PDF出力に関するものです。ここでもユニコードのラベルが表示されています。私はcairo_pdf()と私の例ではggplotコールの前にどのような場合には

は、ggplotコールはちょうどハングし、私は

4)コメント投稿の一部にR.を終了し、上記の問題が関連する示唆してい英語のロケールでWindowsを使用していますが、私はUTF-8ロケールでOS Xを使用しています。

ご意見ありがとうございます。

答えて

1

sprintf Windows上で私のための作品とRstudio 1.0.143

comfortable way to use unicode characters in a ggplot graph

library(ggplot2) 

facets <- sprintf(c('✓', '✗')) 
facets2 <- sprintf(c('\u2713', '\u2717')) 
facets3 <- sprintf(c('check', 'x')) 

set.seed(123) 
my_df <- data.frame(x = runif(40), y = runif(40), 
       z = rep(facets, each=20), 
       stringsAsFactors = F) 

ggplot(my_df, aes(x, y, color=z)) + geom_point() + 
    facet_wrap(~z) + 
    theme(legend.position = 'none') 

セッション情報:

R version 3.4.0 (2017-04-21) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

Matrix products: default 

locale: 
[1] LC_COLLATE=French_France.1252 LC_CTYPE=French_France.1252 LC_MONETARY=French_France.1252 LC_NUMERIC=C     
[5] LC_TIME=French_France.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] ggplot2_2.2.1 xts_0.9-7  zoo_1.8-0  dygraphs_1.1.1.4 

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.11  lattice_0.20-35 digest_0.6.12 plyr_1.8.4  grid_3.4.0  jsonlite_1.4  gtable_0.2.0  magrittr_1.5  
[9] scales_0.4.1  rlang_0.1.1  lazyeval_0.2.0 labeling_0.3  tools_3.4.0  htmlwidgets_0.8 munsell_0.4.3 yaml_2.1.14  
[17] compiler_3.4.0 colorspace_1.3-2 htmltools_0.3.6 tibble_1.3.3 
+0

'小面< - sprintfの(C( '✓'、「✗ ')) '私のためのプロットに何の違いもありません。投稿されたコードでエラーを再現できますか?あなたの 'sessionInfo()'は何ですか? – arvi1000

+0

ファセットとファセット2が動作しています –

+0

元のコードでエラーが表示されませんでしたか?つまり、「facets」と「facets2」の両方のベクトルを使用してプロットに文字が表示されていますか? – arvi1000

関連する問題