【问题标题】:R multiple lines plotly chart with customized line typesR 具有自定义线型的多线绘图图
【发布时间】:2019-11-10 10:38:57
【问题描述】:

我可能有一个简单的 R 情节问题,但我花了大约一个小时阅读 stackoverflow 中的问题,我真的找不到我需要的东西。我有一个数据框(我将分享一个屏幕截图),其中包含用于创建多线图的不同列。 这是我用来创建情节的代码:

plot_ly(data = df_final, x=~TENOR, y=~RATE) %>% add_trace(type='scatter',mode='lines', color=~LINE_NAME, colors = ~LINE_COL) %>%
    layout(title=paste0("Market data"),
           xaxis=list(title='Term (years)'),
           yaxis=list(title='Yield'))

它的效果很棒,但我希望可以选择某些线条是否必须是虚线、点或实线以及它们的宽度。 我需要/想要在数据框中指定此信息并选择具有此类信息的数据框列(即,请参阅附加数据框中的“LINE_STYLE_FACTOR”列)。 我检查了Multiple line chart using plotly rPlotly r, line style by variable,但我找不到我需要的方法。 该解决方案必须使用绘图而不是其他图表解决方案。 谢谢

【问题讨论】:

    标签: r plotly


    【解决方案1】:

    至少对于线型(虚线与线),你可以'linetype':

    library(dplyr)
    library(plotly)
    
    df = data.frame(xVals = rep(1:10,2),
                    yVals = c(1:10, 2:11),
                    myColor = c(rep('Red', 10), rep('Blue', 10)),
                    myType = c(rep('solid', 10), rep('dot', 10)),
                    myName = c(rep('FirstName', 10), rep('SecondName', 10)))
    plot_ly(df, 
            x = ~xVals,
            y = ~yVals,
            color = ~I(myColor),
            name = ~myName,
            type = 'scatter',
            mode = 'lines',
            linetype = ~I(myType)
    )
    

    【讨论】:

    • 非常感谢安德烈亚斯,您的解决方案确实有效。请问虚线应该用什么参数?再次感谢您的帮助,非常感谢。
    • 感谢您的提问。我再次查看了我的答案,并意识到颜色和线型(例如“红色”和“实线”)的表格输入正在被 plot_ly 作为因素读入。根据这个问题 (stackoverflow.com/questions/44973625/…),我发现您可以使用函数 'I' 让 plot_ly 逐字阅读它们。仅供参考,线型的允许值为“solid”、“dot”、“dash”、“longdash”、“dashdot”、“longdashdot”。我已经相应地更新了我的答案。
    • 这非常有用。谢谢安德烈亚斯
    • 嗨,很抱歉问了另一个问题。我将您的解决方案与功能“I”一起使用。这很好用,但这样图例框内的所有线条现在都称为“蓝色、红色、橙色”。有没有办法自定义图例框内的行名?
    • @Angelo 我已经编辑了我的答案以允许自定义名称
    猜你喜欢
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    相关资源
    最近更新 更多