プロットでdirectlabelsパッケージでggplot2を使用していますgeom_line()
が、ラベルの1つに「XM」と表示させたいと思います。ただし、私のdata.frame()
「XM」では、列名が「XM」に名前が変更され、関数にカスタムラベル名を付ける方法に関するドキュメントが見つからずdirect.label
、ソースを読むこともできませんでした。(directabelsは、私が最初に試したggplotスケールで設定されたラベル名を尊重していないようです。)
サンプルコード:
library("scales")
library("reshape2")
library("ggplot2")
library("directlabels")
data = data.frame(
C = c(1.2, 1.4, 0.3, -2.0, 0.5),
I = c(1.2, 1.5, -1.3, -3.8, 1.8),
G = c(0.2, 0.3, 0.3, 0.2, 0.2),
"X-M" = c(2.9, -0.7, 0.3, -2.8, 1.5) +
c(-2.7, 0.2, 0.4, 3.6, -2.4),
year = c("2006", "2007", "2008", "2009", "2010"))
p <- ggplot(data = melt(data), aes(year, value, color = variable)) +
geom_line(aes(group = variable)) +
scale_color_hue(breaks = c("C", "I", "G", "X.M"),
labels = c("C", "I", "G", "X-M")) # directlabels doesn't
# use this
# Compare:
p
# with:
direct.label(p, list(last.points, hjust = -0.25))
結果のグラフはここで見ることができます。直接ラベルのあるものは、「XM」の代わりに「XM」を使用します。よろしくお願いします!