gpt4 book ai didi

r - 结合散点图和折线图 R Plotly(线上无符号)

转载 作者:行者123 更新时间:2023-12-01 08:11:23 25 4
gpt4 key购买 nike

我正在使用 Plotly 来可视化一些数据(如下):

y1 <- rnorm(100, mean = 5)
y2 <- rnorm(100, mean = -5)
x <- c(1:100)

data <- data.frame(x, y1, y2)

我想要两个图,一个是 y1 的散点图(只有标记),一个是 y2 的线图(只有线,没有标记)。

我有这个工作...

plot_ly(data, x = ~x, y = ~y1, name = 'symbol only', type = 'scatter', mode = 'markers') %>%
add_trace(y = ~y2, name = 'line only', mode = 'lines',
line = list(shape = 'spline', color = 'rgb(200, 12, 46)', width = 2))

但是,我想更改 y1 中标记的颜色和符号。当我这样做时,它会向 y2 添加标记,这是我不想要的。我该如何解决这个问题?

plot_ly(data, x = ~x, y = ~y1, name = 'symbol only', type = 'scatter', mode = 'markers',
symbol = 8) %>%
add_trace(y = ~y2, name = 'line only (why markers added?)', mode = 'lines',
line = list(shape = 'spline', color = 'rgb(200, 12, 46)', width = 2))

最佳答案

您可以先创建一个空的 Plotly 对象/一个仅包含 x 值的 Plotly 对象

plot_ly(data, x = ~x) %>%

然后分别添加每条迹线。

add_trace中的

symbol用于指定符号sourcesymbols 存储实际的符号。在您的情况下,您需要在 marker 中传递 symbol 类型,即 marker=list(symbol = 8)

library(plotly)

y1 <- rnorm(100, mean = 5)
y2 <- rnorm(100, mean = -5)
x <- c(1:100)

data <- data.frame(x, y1, y2)


plot_ly(data, x = ~x) %>%
add_trace(y = ~y1, name = 'symbol only', type = 'scatter', mode = 'markers', marker=list(symbol = 8)) %>%
add_trace(y = ~y2, name = 'line only', type='scatter', mode = 'lines',
line = list(shape = 'spline', color = 'rgb(200, 12, 46)', width = 2))

enter image description here

关于r - 结合散点图和折线图 R Plotly(线上无符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53988091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com