Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 与ggplot'的绘图等效;s lwd_Python_R_Plot_Ggplot2_Plotly - Fatal编程技术网

Python 与ggplot'的绘图等效;s lwd

Python 与ggplot'的绘图等效;s lwd,python,r,plot,ggplot2,plotly,Python,R,Plot,Ggplot2,Plotly,在ggplot()中,我可以动态更改aes中的lwd变量。但是,如果改用plot__ly(),则此选项不可用 我也知道使用ggplotly将ggplot转换为plotly,但在ggplotly中使用geom_line()会出现问题,如本问题所示: 我目前正在plotly中使用R,但如果需要,可以将我的代码库转换为python。@Adam\u G见下文。这是一种黑客行为,所以可能有更好的方法来做到这一点。一个比我更有知识的人可能会对此有所了解 library(plotly) library(dpl

ggplot()
中,我可以动态更改
aes
中的
lwd
变量。但是,如果改用
plot__ly()
,则此选项不可用

我也知道使用
ggplotly
将ggplot转换为plotly,但在ggplotly中使用
geom_line()
会出现问题,如本问题所示:


我目前正在plotly中使用R,但如果需要,可以将我的代码库转换为python。

@Adam\u G见下文。这是一种黑客行为,所以可能有更好的方法来做到这一点。一个比我更有知识的人可能会对此有所了解

library(plotly)
library(dplyr)

ds <- data.frame(x = 1:100, 
                 y = sample(1:1000, size = 100), 
                 group = sample(LETTERS[1:3], size = 100, replace = T))

# Default
plot_ly(ds, x = x, y = y, group = group, mode = "lines")

# Manually change linewidth (if not too many groups)
plot_ly(ds %>% filter(group == "A"), x = x, y = y, mode = "lines", line = list(width = 2)) %>% 
  add_trace(data = ds %>% filter(group == "B"), x = x, y = y, mode = "lines", line = list(width = 5)) %>% 
  add_trace(data = ds %>% filter(group == "C"), x = x, y = y, mode = "lines", line = list(width = 10))

# In a loop (if too many groups)
p <- plot_ly()
vec <- unique(ds$group)
widths <- c(2, 5, 10)

for(i in 1:3){
  # Note that evaluate  = T is important here

  p <- add_trace(p, data = ds %>% filter(group == vec[i]), x = x, y = y, mode = "lines",
                 line = list(width = widths[i]), evaluate = T)
}

p
library(plotly)
图书馆(dplyr)
ds%过滤器(组==“A”),x=x,y=y,mode=“lines”,line=list(宽度=2))%>%
添加跟踪(数据=ds%>%过滤器(组==“B”),x=x,y=y,mode=“lines”,line=list(宽度=5))%>%
添加跟踪(数据=ds%>%过滤器(组==“C”)、x=x、y=y、mode=“lines”、line=list(宽度=10))
#在循环中(如果组太多)

p为什么向下投票/投票关闭?我知道你可以通过设置
marker=list(size=…)
来关闭标记,但我认为这不可能用于行。至少不像
ggplot()
中的
aes
。使用
plot\u ly()
谢谢,您可以通过将每个组添加为单独的跟踪来绕过它。你这是什么意思?