我試圖使用不同數據框中的數據在ggvis圖中添加任意文本的圖例。我曾嘗試使用add_legend()
,但我不知道要使用哪些參數。使用plot()
是使用legend()
功能非常簡單,但它已經很難找到一個方法來做到這一點使用ggvis()
ggvis - add_legend具有多個數據和圖內的位置圖例
這裏是我一直在使用plot()
一個簡單的例子:
df1 = data.frame(x = sample(1:10), y = sample(1:10))
df2 = data.frame(x = 1:10, y = 1:10)
df3 = data.frame(x = 1:10, y = sqrt(1:10))
plot(df1)
lines(df2$x, df2$y, col = "red")
lines(df3$x, df3$y, col = "green")
legend("topleft", c("Data 2","Data 3"), lty = 1, col = c("red","green"))
現在,使用ggvis()
我可以積點,並從不同的數據集的線條,但我不能找到一種方法,使用add_legend()
把傳說,這裏是一個使用ggvis()
代碼:
df1 %>% ggvis(x=~x,y=~y) %>% layer_points() %>%
layer_paths(x=~x,y=~y,data = df2, stroke := "red") %>%
layer_paths(x=~x,y=~y,data = df3, stroke := "green")
我會很感激任何幫助。
謝謝。
編輯:
這樣僅使用一個數據幀和plot()
一個示例代碼
df = data.frame(x = sample(1:10), y = sample(1:10), x2 = 1:10, y2 = 1:10, y3 = sqrt(1:10))
plot(df[,c("x","y")])
lines(df$x2, df$y2, col = "red")
lines(df$x2, df$y3, col = "green")
legend("topleft", c("Data 2","Data 3"), lty = 1, col = c("red","green"))
我不知道你可以用兩個不同的數據集來做到這一點。儘管從這兩個數據框中構建一個數據框,然後將其融合,那將更有意義。你會得到你想要的這種方式。如果這對你是可以接受的,那麼我可以提供一個解決方案。 – LyzandeR
是的,我可以將所有數據放在一個數據幀中。謝謝。 – Geovany