我正在用plotly进行平行绘图。它很有效,但当我将它应用于巨大的数据时会非常耗时,因为我要做的"跟踪"和标记一样多。
我怎样才能做得更快?
有一个可复制的例子显示了我是如何做到这一点的:
#Create data
markers=paste("markers",letters,sep="_")
data=data.frame(
mark=rep(markers,3),
map=c(rep(1,26) , rep(2,26) , rep(3,26)),
pos=sample(seq(1:100) , 26*3)
)
# Make the plot with Plotly
library(plotly)
plot_ly(data , x=map , y=pos, mode="markers+lines" , group=mark)
这就是的结果
我当前的平行绘图
非常感谢你的帮助!
对于每个跟踪,plotly.js必须计算默认的绘图和布局数据,因此初始绘图不会很快。对于大型数据集,应该使用scattergl
绘图类型而不是scatter
,但理想情况下,应该重新排列数据,这样就不需要绘制尽可能多的迹线(如果可能的话)。
现在plotly.js
中有一个本地并行坐标跟踪parcoords
,它是为可扩展操作而构建的,例如使用GPU进行交叉过滤和渲染。因此,某些样式比常规lines
更受约束。除了笔刷过滤,它还可以通过抓取轴标题进行轴拖放。
文件:https://plot.ly/javascript/reference/#parcoords
示例:
- https://plot.ly/javascript/parallel-coordinates-plot/
- https://codepen.io/monfera/pen/dNBwOv
与往常一样,该功能也可以通过Python、R等API绑定访问,例如。https://plot.ly/python/parallel-coordinates-plot/
这是一个较老的问题,只需将此答案添加到此页面上以备将来搜索时使用。