【问题标题】:Canvas animation in line graph折线图中的画布动画
【发布时间】:2018-08-14 10:29:37
【问题描述】:

我们如何在 jquery 中绘制和动画(连续运行)基本折线图。

http://prntscr.com/kifamc

你能帮帮我吗?

我已经尝试了下面的代码,但不能按照图像工作。此代码给出折线图。我不需要 x 和 y 轴。只显示固化线连续显示它们的点

<div id="chartContainer" style="height: 370px; width:100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

<script type="text/javascript">
  window.onload = function() {
    var dps = [];
    var chart = new CanvasJS.Chart("chartContainer", {
      exportEnabled: true,
      title: { text: "Dynamic Spline Chart" },
      axisY: { includeZero: false },
      data: [{ type: "spline", markerSize: 0, dataPoints: dps }]
    });

    var xVal = 0;
    var yVal = 100;
    var updateInterval = 1000;
    var dataLength = 50; // number of dataPoints visible at any point

    var updateChart = function(count) {
      count = count || 1;
      // count is number of times loop runs to generate random dataPoints.
      for (var j = 0; j < count; j++) {
        yVal = yVal + Math.round(5 + Math.random() * (-5 - 5));
        dps.push({ x: xVal, y: yVal });
        xVal++;
      }
      if (dps.length > dataLength) {
        dps.shift();
      }
      chart.render();
    };

    updateChart(dataLength);
    setInterval(updateChart, updateInterval);
  }
</script>

【问题讨论】:

  • 请向我们展示您自己尝试创建的内容

标签: jquery html canvas jquery-animate jquery-ui-sortable


【解决方案1】:

轴有很多选项,看看文档:
https://canvasjs.com/docs/charts/chart-options/axisx/

您可以使用labelFormatter 隐藏轴标签,下面是基于您的代码的示例:

<div id="chartContainer" style="height: 180px; width:100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

<script type="text/javascript">
window.onload = function() {
    var dps = [];
    var chart = new CanvasJS.Chart("chartContainer", {
    exportEnabled: true,
    axisX: {includeZero: false, lineThickness: 0, labelFormatter: function(){return ""}},
    axisY: {includeZero: false, lineThickness: 0, labelFormatter: function(){return ""}},
    data: [{ type: "spline", markerSize: 0, dataPoints: dps }]
    });

    var xVal = 0;
    var yVal = 100;
    var dataLength = 50; // number of dataPoints visible at any point

    var updateChart = function(count) {
    count = count || 1;
    // count is number of times loop runs to generate random dataPoints.
    for (var j = 0; j < count; j++) {
        yVal = yVal + Math.round(5 + Math.random() * (-5 - 5));
        dps.push({ x: xVal++, y: yVal });
    }
    if (dps.length > dataLength) {
        dps.shift();
    }
    chart.render();
    };

    updateChart(dataLength);
    setInterval(updateChart, 1000);
}
</script>

【讨论】:

  • 我需要更多像这个网站healthcarelogic.com 这样的soomth 效果。 & 还需要删除菜单图标。你能帮帮我吗
  • HelderSepu : 两个凝乳之间的差距也需要增加。我们怎样才能实现?
  • HelderSepu:你明白我的意见了吗?
  • @Abhijit 抱歉,但我不是 CanvasJS 方面的专家,这是我认为正确方向的推动,您需要阅读文档并尝试使用这些选项。
猜你喜欢
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多