R 具有自定义线型的多线绘图图

Posted

技术标签:

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

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

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 r 和Plotly r, line style by variable,但我找不到我需要的方法。 该解决方案必须使用绘图而不是其他图表解决方案。 谢谢

【问题讨论】:

【参考方案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 作为因素读入。根据这个问题 (***.com/questions/44973625/…),我发现您可以使用函数 'I' 让 plot_ly 逐字阅读它们。仅供参考,线型的允许值为“solid”、“dot”、“dash”、“longdash”、“dashdot”、“longdashdot”。我已经相应地更新了我的答案。 这非常有用。谢谢安德烈亚斯 嗨,很抱歉问了另一个问题。我将您的解决方案与功能“I”一起使用。这很好用,但这样图例框内的所有线条现在都称为“蓝色、红色、橙色”。有没有办法自定义图例框内的行名? @Angelo 我已经编辑了我的答案以允许自定义名称

以上是关于R 具有自定义线型的多线绘图图的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化气泡图:无填充色的气泡图自定义填充色的气泡图

R语言使用ggpubr包的ggviolin函数可视化分组小提琴图(自定义调色板添加分组对比的p值添加内嵌箱图自定义内嵌箱图色彩)

R语言使用ggpubr包的ggviolin函数可视化分组小提琴图(自定义调色板添加分组对比的p值添加内嵌箱图自定义内嵌箱图色彩)

R语言编写自定义函数设置fmsb包生成的漂亮的雷达图(radar chart蜘蛛图spider plot)独立显示多个数据对象的雷达图自定义每个雷达图的颜色标签等

R语言编写自定义函数设置fmsb包生成的漂亮的雷达图(radar chart蜘蛛图spider plot)独立显示多个数据对象的雷达图自定义每个雷达图的颜色标签等

R语言使用ggradar包可视化基本雷达图(radar chart蜘蛛图spider plot)每个多个数据对象的雷达图自定义雷达图的线条类型线条宽度数据点大小色彩等