rの下にggplot2でオーバーレイされた1つのグラフに表示しようとしている2つのデータセットがあります。データセット1は、グループ化された棒グラフとして表示する必要があります(国ごとに1つのグループ - データセットにはいくつかの国があります)。データセット2は、バーを横切る一連の色付き水平線として表示する必要があります。 2つのデータセットの長さが異なることに注意してください。私は何をしようとしているかを示す下のコードをいくつか持っています(他の人のアドバイスによって設計されています)。rg2plot2でrの2番目の凡例をプロットする方法
library(ggplot2)
chart1_data <- data.frame(year=c("1998","1998","1998","1998","1998","1998","1998","1998","1998"), medicine=c("Fent","Meth","Morph","Fent","Meth","Morph","Fent","Meth","Morph"), entity=c("Italy","Italy","Italy","Norway","Norway","Norway","Portugal","Portugal","Portugal"), usage=c(3.01,9.32,2.01,1.24,1.43,28.48,5.01,5.51,41.82))
chart1_means <- data.frame(label=c("Global Fent","EURO Fent","Global Meth","EURO meth","Global Morph","EURO Morph"), value=c(0.03, 0.07, 1.59, 5.12, 3.28, 8.54))
means_labels = chart1_means$label
colors = rainbow(length(means_labels))
ggplot(data=chart1_data, aes(x=entity, y=usage, fill=medicine)) +
geom_bar(stat="identity", position=position_dodge(), show.legend=TRUE) +
geom_hline(data=chart1_means, aes(yintercept=value), color=colors) +
scale_fill_manual("means", values=colors, guide=guide_legend(override.aes = list(colors)))
難易度は、2つの伝説が必要です。 1つはバー用、もう1つはライン用です。これまでの私の試みでは、各データセットの断片をある程度混在させて伝説を作っていました。たとえば、下のチャートでは、タイトルが間違っていて、行は何もない単一の凡例が表示されています。
誰もが私が欲しいものを達成することができます方法についての勧告を持っていますか?任意のポインタが高く評価されました。
質問はありませんここでは、[SO]に属しています。少し待っていれば、これを移行します。 – gung
うわー、誰かが以前に 'rainbow'を呼んでデフォルトのggplotの色を上書きしているのを見たことはないと思います。それは激しいです。 – Gregor
あなたは 'aes'の中で色をマップすることができます – rawr