したがって、質問のように、このデータフレームもプロットされています。
library("ggplot2")
set.seed(1278)
classes <- c("a1", "a2", "a3", "a4", "b1", "b2", "b3", "b4", "b5", "c1", "c2", "c3")
kinds <- c("WWW", "XXX", "YYY", "ZZZ", "QQQ", "VVV")
values <- seq(1:100)
vK <- vector()
vC <- vector()
vals <- vector()
for (k in kinds) {
vK <- append(vK, rep(k, length(classes)))
vC <- append(vC, classes)
vals <- append(vals, sample(values, length(classes), replace=T))
}
df <- cbind.data.frame(vC, vK, vals)
colnames(df) <- c("class", "kind", "value")
ggplot(data=df, aes(x=kind, y=value, group=class, color=class)) + geom_line()
問題は、各クラスが、変数内の数、つまりサブクラス、つまりa1、a2などを反映する異なる色で表されることです。必要なのは、各クラスを同じ色でプロットすることです。この例では、「a」、「b」、「c」の3つの実際のクラスがあります。サブクラス1、2、3 ...、「b」をさまざまな青の色合いで色付けする方法はありますか?
私はこのようなことを試しましたが、クラスがサブクラスを失ったため、うまくいきませんでした:
df$class <- as.factor(gsub("1|2|3|4|5|6|7|8|9|0", "", df$class))
ggplot(data=df, aes(x=kind, y=value, group=class, color=class)) + geom_line()
それは私がサブクラスを保持する必要があることを意味します。
私もさまざまなプロットを開いています!
あなたのアプローチは正しかった。スーパークラス用とサブクラス用の2つの変数を追加するだけです。あなたが念頭に置いていたサブクラスの陰影は、例えばalpha
美学を使用して達成されました。これを試して:
library("ggplot2")
set.seed(1278)
classes <- c("a1", "a2", "a3", "a4", "b1", "b2", "b3", "b4", "b5", "c1", "c2", "c3")
kinds <- c("WWW", "XXX", "YYY", "ZZZ", "QQQ", "VVV")
values <- seq(1:100)
vK <- vector()
vC <- vector()
vals <- vector()
for (k in kinds) {
vK <- append(vK, rep(k, length(classes)))
vC <- append(vC, classes)
vals <- append(vals, sample(values, length(classes), replace=T))
}
df <- cbind.data.frame(vC, vK, vals)
colnames(df) <- c("class", "kind", "value")
df$class1 <- as.factor(gsub("[0-9]", "", df$class))
df$subclass1 <- as.factor(gsub("[a-z]", "", df$class))
df$subclass1 <- as.numeric(df$subclass1)
ggplot(data=df, aes(x=kind, y=value, group=class, color=class1, alpha = subclass1)) +
geom_line() +
scale_alpha_continuous(range = c(.5, 1))
reprexパッケージ(v0.3.0)によって2020-03-31に作成されました
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加