显示趋势线图的时间序列变化率计算

数据挖掘 数据集 时间序列 信息图表
2022-03-17 16:35:22

我正在努力寻找一种解决方案来生成显示时间序列指标趋势的折线图。

我尝试使我的折线图看起来类似于以下内容:

时间序列

基本上,我想利用相对变化率,但我很难找到一种计算方法,使上述可视化成为可能。该图应始终与特定时间窗口相关,这意味着我可以使用开始和结束时间戳动态查询我的数据。

我的(不完整的)样本数据集如下:

timestamp,value,change_rate,change_rate_absolute_sum,change_rate_delta,change_rate_sum
1426587900000,778;0.00129,0.00129;0.00129,0.00129
1426588200000,778;0,0.00129;-0.00129,0
1426588500000,1189;0.52828,0.52957;0.52828,0.52828
1426588800000,1195;0.00505,0.53462;-0.52323,0.00505
1426589100000,1195;0,0.53462;-0.00505,0
1426589400000,1196;0.00084,0.53546;0.00084,0.00084
1426589700000,1286;0.07525,0.61071;0.07441,0.07525
1426590000000,1290;0.00311,0.61382;-0.07214,0.00311
1426590300000,1294;0.0031,0.61692;-0.00001,0.0031
1426590600000,1296;0.00155,0.61847;-0.00155,0.00155
1426590900000,1356;0.0463,0.66477;0.04475,0.0463
1426591200000,1358;0.00147,0.66624;-0.04483,0.00147
1426591500000,1358;0,0.66624;-0.00147,0
1426591800000,1360;0.00147,0.66771;0.00147,0.00147
1426592100000,1408;0.03529,0.703;0.03382,0.03529
1426592400000,1390;-0.01278,0.69022;-0.04807,-0.01278
1426592700000,1391;0.00072,0.69094;0.0135,0.00072
1426593000000,1410;0.01366,0.7046;0.01294,0.01366
1426593300000,1414;0.00284,0.70744;-0.01082,0.00284
1426593600000,1410;-0.00283,0.70461;-0.00567,-0.00283
1426593900000,1414;0.00284,0.70745;0.00567,0.00284
1426594200000,1420;0.00424,0.71169;0.0014,0.00424
1426594500000,1417;-0.00211,0.70958;-0.00635,-0.00211

任何想法热烈赞赏。提前非常感谢!

1个回答

虽然我不太清楚您要显示的数据之间的具体关系,但我可以提供一些一般性建议。我认为这种时间序列可视化需要所谓的发散配色方案(与顺序分类和其他方案相反)。ColorBrewer是一个不错的在线工具,用于选择合适的配色方案和其他参数(请注意,ColorBrewer的配色方案已内置支持主要数据分析和可视化软件,例如 R、Python、d3.js、plot.ly 等)。

如果你会使用环境,使用包及其功能R很容易生成你想要的时间序列趋势线图:ggplot2scale_color_gradient2()

... + scale_color_gradient2(midpoint=midValue, low="blue", mid="white", high="orange" )

快速浏览一下您的个人资料,我建议您更喜欢 JavaScript 解决方案。在这种情况下,我建议使用d3.js库或多个其他JavaScript 可视化库或包之一。有关更多详细信息,请查看我的这个相关答案