R Plotly多线打印x轴标签
我有一个非常具体的问题,与R中的多线绘图有关。我发现了许多与条形图有关的问题,但与我目前的情况没有任何关系。 我有以下简化的数据框架和代码:R Plotly多线打印x轴标签,r,plotly,r-plotly,R,Plotly,R Plotly,我有一个非常具体的问题,与R中的多线绘图有关。我发现了许多与条形图有关的问题,但与我目前的情况没有任何关系。 我有以下简化的数据框架和代码: df <- data.frame(SEC_LABEL = c("3M","5Y",'10Y'), SEC1_VALUES = c(1.1, 1.4, 1.6), SEC2_VALUES = c(2.3, 2.6, 3.1), SORT=c(1,2,3)) color_line1 <- "#66C2A5" #('rgb(102, 194, 16
df <- data.frame(SEC_LABEL = c("3M","5Y",'10Y'), SEC1_VALUES = c(1.1, 1.4, 1.6), SEC2_VALUES = c(2.3, 2.6, 3.1), SORT=c(1,2,3))
color_line1 <- "#66C2A5" #('rgb(102, 194, 165)')
color_line2 <- "#8DA0CB" #('rgb(110, 194, 165)')
unique_line_names_1 <- "line1"
unique_line_names_2 <- "line2"
x_label < - as.character(df$SEC_LABEL)
p <- plot_ly(data = df, x = ~SORT) %>%
# Time series chart
add_lines(y = ~SEC1_VALUES, line = list(color = color_line1, width = 3),
hoverinfo = unique_line_names_1, text = unique_line_names_1, name = unique_line_names_1) %>%
add_lines(y = ~SEC2_VALUES, line = list(color = color_line2, width = 3),
hoverinfo = unique_line_names_2, text = unique_line_names_2, name = unique_line_names_2) %>%
layout(title=paste0("Curves"),
showlegend = TRUE,
margin = list(l=30, r = 20, b = 30, t = 30, pad =1),
legend = list(x = 0, y = 0.1,
font = list(size = 8),
#orientation = 'h',
bgcolor ='transparent' ),
xaxis=list(title='',
showline = FALSE,
zeroline = FALSE,
showticklabels = T,
showgrid = FALSE,
ticktext = x_label,
gridwidth =0
#gridcolor = toRGB("gray50")
),
yaxis=list(title='',
showline = F,
zeroline = FALSE,
showgrid = T,
gridwidth =2)
)
dfA我在评论中已经提到,简单的解决方案是使用有序因子,即
df$SEC_LABEL <- factor(df$SEC_LABEL, levels = x_label)
df$SEC_LABEL只需将SEC_LABEL
转换为有序因子,即df$SEC_LABEL@stefan非常感谢!!!!!这绝对是我的荣幸。但现在我想知道为什么你的方法不起作用。嗯,想一想。(;@stefan你的意思是它可能是一个bug吗?嗨@Angelo。看了一下说明书。所以。不,它不是bug。有时候plotly没有ggplot2那么简单或直观。因为答案有点长,我把它作为一个答案发布了。最好的s.令人惊讶的解释stefan。谢谢你