5
をggplot2する直接ラベルを追加します。これは、ここでの質問の続きです:Create non-overlapping stacked area plot with ggplot2がgeom_areaチャート
私は次のコードで作成されたggplot2面グラフを持っています。 names
のラベルをグラフの右側に揃えたい。私はdirectlabels
が働いているかもしれないと思うが、最も賢いものは何でも試してみたい。
require(ggplot2)
require(plyr)
require(RColorBrewer)
require(RCurl)
require(directlabels)
link <- getURL("http://dl.dropbox.com/u/25609375/so_data/final.txt")
dat <- read.csv(textConnection(link), sep=' ', header=FALSE,
col.names=c('count', 'name', 'episode'))
dat <- ddply(dat, .(episode), transform, percent = count/sum(count))
# needed to make geom_area not freak out because of missing value
dat2 <- rbind(dat, data.frame(count = 0, name = 'lane',
episode = '02-tea-leaves', percent = 0))
g <- ggplot(arrange(dat2,name,episode), aes(x=episode,y=percent)) +
geom_area(aes(fill=name, group = name), position='stack') + scale_fill_brewer()
g1 <- g + geom_dl(method='last.points', aes(label=name))
私はブランドラベルがエリアと同じ色で、グラフの右側に整列するために取得する方法を実際に確認してくださいdirectlabels
に新しくありませんよ。
感謝を。私はダイレクトラベルを理解する必要があります。なぜなら、このアプローチが一般的にどのように普及しているのかわからないからです。 – Idr
@csgillespie、これは役に立ちました。ここで私が使用した構文(別のdf)は次のとおりです。 "+ geom_text(data = subset(df、Year ==" 2012 ")、aes(x = Year、y = cumsum(value)、label = variable)、vjust = 6 、hjust = -2、size = 4) ''で、 '' vjust''と '' hjust''のパラメータを正しく取得するのが面倒だった。私は試行錯誤で発見した '' aes() ''に '' cumsum''を渡すことができるということを強調するように言っています。右側の凡例では、画像と同じ順序で色を取得するために '' +ガイド(fill = guide_legend(reverse = TRUE)) ''を設定すると便利です。廃止予定の '' opts''を更新しますか? – PatrickT
そして、データフレームの最後の要素(前述のOPの '' 06-at-the-codfish-ball''と私のコメントの '' 2012'')をキャッチするには、 '' tail() ''引数 '1'を持つ関数、例えば'' tail(df2.1 $ Year、1) '' – PatrickT