ggvisを使用して定期的にレビューするデータのグラフを作成する関数を作成しました。この場合、最終的なグループ「全体」は上書きされ、デフォルトの代わりに幅3の黒線として表示されます。残念ながら、デフォルトを上書きするために取った手順は、凡例には表示されません。私はこの仕事をするために何をすべきか確信しています。私は特にadd_legendを呼び出そうとしましたが、うまくいきませんでした。ggvis凡例をグラフに一致させるにはどうすればよいですか?
(また、いくつかのランダムなデータで)これが生成するのに使用されるコード:
CAL_DATE = seq(as.Date("10/1/2015", format = "%m/%d/%Y"),
as.Date("3/31/2016", format = "%m/%d/%Y"), by = 1)
CAL_DATE = as.POSIXct(CAL_DATE)
a = data.frame(cbind(ma_AHT = round(rweibull(length(CAL_DATE),
5, 500),0), CT_DS = rep("A",length(CAL_DATE))))
b = data.frame(cbind(ma_AHT = round(rweibull(length(CAL_DATE),
4, 540),0), CT_DS = rep("B", length(CAL_DATE))))
Overall = data.frame(cbind(ma_AHT = round(rweibull(length(CAL_DATE),
10, 475),0), CT_DS = rep("Overall", length(CAL_DATE))))
a$CAL_DATE = CAL_DATE
b$CAL_DATE = CAL_DATE
Overall$CAL_DATE = CAL_DATE
data = rbind(a, b, Overall)
plot_ma = function(x){
x %>%
group_by(CT_DS) %>%
ggvis(~CAL_DATE, ~ma_AHT, stroke = ~CT_DS) %>%
layer_lines() %>%
filter(CT_DS == "Overall") %>%
layer_lines(stroke := "black", strokeWidth := 3) %>%
set_options(renderer = "canvas") %>%
add_legend("stroke", title = "~ CT") %>%
add_axis("x", title = "Date", title_offset = 60,
properties = axis_props(
labels = list(
angle = -50,
align = "right",
baseline = "middle"
))) %>%
add_axis("y", title = "M.A. AHT (sec)")
}
plot_ma(data)
以下のようなものを生成する必要があります。私の唯一の懸念は、伝説のショーを全体的に黒くする方法です。
あなたは小さな例のデータセットを追加することはできますか? – aosmith
'Overall'が常に最後になる場合は' range_nominal'で 'range'を使って色を定義できると思います。あなたの単純な例では、 'scale_nominal(" stroke "、range = c(" blue "、" orange "、" black "))'のようなものになります。グループを増やすには、色数のベクトルを作成するか、グループの数だけサンプルから色を引いて、最後に「黒」を追加します。 – aosmith
グループの数は、データセットによって大きく異なる場合があります。サンプルから色を引き出す方法について、より多くの洞察を教えてください。私はggvisオブジェクトの中を調べて、どこにあるのかを見つけましたが、成功しませんでした。 –