EDITとして示すカスタム非数値y軸ラベル:より複雑な例で更新サンプルコードggvis - 「のNaN」
I(x、y)は、値を有するデータフレームとそれぞれの名前を持っています私はそれをggvis散布図にプロットしています。 SOユーザーはすでにこの投稿(How do I label plot tick marks using ggvis)を指摘しており、factor()
を使用してadd_axis()
ステートメントのに送られるカスタム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
に戻って来ています。何か不足していますか?
解決策編集:ここに私のコードがあります。注:私は3つの線を区別できるように、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 If問題はy値を繰り返すため、スタンドアロンのベクトルを作成するのではなく、新しい変数をデータセットに入れてください。しかし、連続変数に関する私の注記のように、この要因は「連続的な」間隔の代わりに等間隔の間隔につながります。 – aosmith
私はコードにさらに多くの変更を加えましたが、あなたの答えは私が必要な場所に私を連れて行くのを助けました! –