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()
谢谢,您可以通过将每个组添加为单独的跟踪来绕过它。你这是什么意思?