編輯:用更復雜的例子更新示例代碼ggvis - 定製非數字y軸的標籤顯示爲「男」
我與(X,Y)值的數據幀和每一個的名稱對,我正在繪製一張ggvis散點圖。因此,用戶已經向我指出這個帖子(How do I label plot tick marks using ggvis),我更新了我的代碼,以反映我看到有使用factor()
創建它的add_axis()
聲明下喂values =
定製y軸標籤ylabels_
名單。下面是新的代碼:
library(stringi)
require(ggvis)
set.seed(13)
df <- data.frame(x = 1:15,
y = c(rep.int(1, 15),
rep.int(4, 15),
rep.int(7, 15)))
ylabels_ <- factor(c(1,4,7), labels = stri_rand_strings(3, 7))
df %>%
ggvis(~x, ~y) %>%
add_axis("y", values = ylabels_)
我的軸標籤仍與NaN
代替因素回來。我錯過了什麼嗎?
解決方案編輯:這是我終於開始工作的代碼。注意我改變了x值以使它們錯開,這樣我就可以區分這三條線。
library(stringi)
require(ggvis)
set.seed(13)
df <- data.frame(x = c(seq(1, length.out = 15, by = 3),
seq(2, length.out = 15, by = 3),
seq(3, length.out = 15, by = 3)),
y = factor(c(rep.int(1, 15),
rep.int(4, 15),
rep.int(7, 15)), labels = c("one", "four", "seven"),
ordered = T))
df %>%
ggvis(~x, ~y) %>%
layer_points() %>%
scale_ordinal("y", domain = c("seven", "four", "one")
我不明白爲什麼在domain =
部分我不得不逆轉的因素以便讓他們以正確的順序顯示。如果有人有任何的洞察力,這將是非常有益的!
我認爲我給出的例子太簡單了 - 我要發佈一個修訂示例 –
@JonathanH如果問題重複y值,把新的變量在數據集中,而不是做一個獨立的載體。但根據我關於連續變量的說明,該因子將導致等間距而不是「連續」間距。 – aosmith
我最終作出更多的修改代碼,但你的答案幫助讓我的地方,我需要的是! –