按条件在 Plotly r 中选择标记的颜色或符号
Pick color or symbol of marker in Plotly r on a group by condition
+----+------+-------+
| Id | Time | Value |
+----+------+-------+
| 1 | A | 1 |
| 2 | B | 10 |
| 2 | C | 3 |
| 2 | D | 6 |
| 3 | E | 2 |
| 4 | F | 9 |
| 4 | G | 4 |
| 4 | H | 17 |
+----+------+-------+
我有上面的数据(简化)。我使用散点图绘制了这个,使用 plot-ly 将 Id 作为 X 轴,将值作为 Y 轴。现在基于时间列,我希望 Id 字段的最新条目具有特定的 shape/symbol。我如何使用 plot-ly 和 r 来做到这一点?
我会添加一列来标记最后一个条目,然后将该列用作美学。
例如,在ggplot
中:
df %>%
group_by(Id) %>%
mutate(
rowNo = 1:n(),
isLast = factor(ifelse(rowNo == n(), 1, 0))) %>%
ggplot(aes(x = Id, y = Value, shape = isLast)) + geom_point()
plot_ly
.
也类似
df %>%
group_by(Id) %>%
mutate(
rowNo = 1:n(),
isLast = factor(ifelse(rowNo == n(), 1, 0))) %>%
plot_ly(x = ~Id, y = ~Value, symbol = ~isLast)
示例数据
df <- read.table(text =
"Id Time Value
1 A 1
2 B 10
2 C 3
2 D 6
3 E 2
4 F 9
4 G 4
4 H 17", header = T)
+----+------+-------+
| Id | Time | Value |
+----+------+-------+
| 1 | A | 1 |
| 2 | B | 10 |
| 2 | C | 3 |
| 2 | D | 6 |
| 3 | E | 2 |
| 4 | F | 9 |
| 4 | G | 4 |
| 4 | H | 17 |
+----+------+-------+
我有上面的数据(简化)。我使用散点图绘制了这个,使用 plot-ly 将 Id 作为 X 轴,将值作为 Y 轴。现在基于时间列,我希望 Id 字段的最新条目具有特定的 shape/symbol。我如何使用 plot-ly 和 r 来做到这一点?
我会添加一列来标记最后一个条目,然后将该列用作美学。
例如,在ggplot
中:
df %>%
group_by(Id) %>%
mutate(
rowNo = 1:n(),
isLast = factor(ifelse(rowNo == n(), 1, 0))) %>%
ggplot(aes(x = Id, y = Value, shape = isLast)) + geom_point()
plot_ly
.
df %>%
group_by(Id) %>%
mutate(
rowNo = 1:n(),
isLast = factor(ifelse(rowNo == n(), 1, 0))) %>%
plot_ly(x = ~Id, y = ~Value, symbol = ~isLast)
示例数据
df <- read.table(text =
"Id Time Value
1 A 1
2 B 10
2 C 3
2 D 6
3 E 2
4 F 9
4 G 4
4 H 17", header = T)