オブジェクトの階層ラベルに大なり記号を表示しようとしていggsurvplot
ます。別のプロットで同様のものを生成しました(下の画像):
上の画像の機能コード
kmcurve_spd <- ggsurvplot(km_fitp1_spd,
palette = c("#202960", "#8CC63E", "#5B9BD5", "#8f94af"),
xlab = "Time (Months)",
legend.labs = c(paste0("<500 mm","\u00b2"), paste0("\u2265","500",
" or <1000 mm","\u00b2"), paste0("\u2265", "1000 or <1500 mm","\u00b2"),
paste0("\u2265","1500 mm\u00b2")))
>
通常、文字列に記号を表示するのに問題はありません。ただし、をラベルとして使用しようとする">"
と">1 Prior Progressions"
、次の警告コードとエラー コードが表示され続けます。
Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
font family not found in Windows font database
Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
font family not found in Windows font database
Error: gridtext has encountered a tag that isn't supported yet: <blockquote>
Only a very limited number of tags are currently supported.
以下は、エラーの原因となっている私のコードの切り捨てられたサンプルです。
エラーのあるコード
kmcurve_pd <- ggsurvplot(km_fitp1_pd,
palette = c("#202960", "#8CC63E"),
xlab = "Time (Months)",
legend.labs = c(paste0("\u2265","1 Prior Progression"), ">1 Prior Progression"))
#this also generates the same error
kmcurve_pd <- ggsurvplot(km_fitp1_pd,
palette = c("#202960", "#8CC63E"),
xlab = "Time (Months)",
legend.labs = c(paste0("\u2265","1 Prior Progression"),
paste0(">","1 Prior Progression")))
ただし、ベクトルをユニコードと文字列の組み合わせに置き換えるとコードを実行できたため、エラーの原因であるlegend.labs
という結論に至りました。>
私は通常、この Web サイトを使用してユニコードをすばやく検索し、記号のユニコードを見つけました>
: https://www.compart.com/en/unicode/U+003E
ただし、このユニコードは間違ったシンボルに対応しているようです。コードはエラーなしで実行されます (次の警告 x6: のみWarning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font family not found in Windows font database
)。間違ったシンボルを生成するイメージとコードは次のとおりです。
間違ったシンボルを含むコード
kmcurve_pd <- ggsurvplot(km_fitp1_pd,
palette = c("#202960", "#8CC63E"),
xlab = "Time (Months)",
legend.labs = c(paste0("\u2264","1 Prior Progression"), paste0("\u00e3",
"1 Prior Progression")))
>
を正しく表示するための回避策はありますか? 残りのプロットには記号を使用しており、場違いに見えるため、言葉だけを使用したくはありません。KM 適合オブジェクトの reprex が役立つ場合は、提供できます。ありがとう!