javascript - plotly.js:如何在一秒钟内绘制 100 个点

标签 javascript charts plotly.js

所以我想要完成的是在一秒钟内绘制超过 100 个点。我现在正在使用 plotlyJs

但绘图时看起来相当慢。我将时间设置为 10,这样一秒内可以绘制 100 个点。但正如我所看到的,图表的运行速度非常慢,它在一秒钟内绘制的点数量较少。

这是我正在尝试的代码:

代码:

<script>
    function getData() {
        console.log(Math.random());
        return Math.random();
    }  
    Plotly.plot('chart',[{
        y:[getData()],
        type:'line'
    }]);

    var cnt = 0;
    setInterval(function(){
        Plotly.extendTraces('chart',{ y:[[getData()]]}, [0]);
        cnt++;
        if(cnt > 1000) {
            Plotly.relayout('chart',{
                xaxis: {
                    range: [cnt-1000,cnt]
                }
            });
        }
    },10);
</script>

Here是我创建的 fiddle

请告诉我,如果我遗漏了某些内容,或者这在 plotlyjs 中是不可能的? 仅在一秒钟内绘制超过 100 个点时才会出现问题。

如果在 PlotlyJs 中不可能,我愿意接受任何其他图表库建议。

最佳答案

您的眼睛只能以 < 60 fps 的速度看到变化,因此显示器只能以 60 fps 的速度重新渲染。即每 16 毫秒。以较小的时间间隔运行计时器是没有意义的,因为无论如何您都不会以这种速度看到更新。相反,放慢间隔,一次显示多个点。这样速度更快,并且可以更轻松地调整绘图显示的速度。

关于javascript - plotly.js:如何在一秒钟内绘制 100 个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57950649/

相关文章:

javascript - 编写优雅的 JavaScript 而不是 if-then 分支

javascript - 调整图表数据?

plotly.js - 在 plotly.js 中向 y 轴标签添加一个单位

javascript - 如何在 PLOTLY JS 中为每个子图添加标题

javascript - Webpack 插件 - 何时调用 doResolve 以及何时回调?

javascript - React Native 响应式屏幕

javascript - 使用 JavaScript 中的变量创建自定义 URL

charts - 如何使用 Three.js 创建 3D 饼图?

javascript - flot chart plothover 事件触发但条形图中的项目始终为空

javascript - 如何在绘图中使颜色条的刻度值不均匀