当前位置: 首页 > 知识库问答 >
问题:

如何清除每个更新的画布?[重复]

张淳
2023-03-14

我的第一个ionic网络应用程序有问题。我应该做一些图表,所以我决定使用d3.js和tree.js。我增加了用不同类型的图表可视化我的数据的可能性。当我在同一个画布上绘制不同的图表时,问题出现了,所以我想我必须在每次更新之前清除画布。这是我的代码:

// Some operations

var canvas = this.components.toArray()[idItem].nativeElement;

this.barChart = new Chart(canvas, {

  type: type,
  data: {
          labels: keys,
          datasets: [{
                      label: label,
                      data: values,
                      backgroundColor: 'rgba(255, 99, 132, 0.2)',
                      borderColor: 'rgba(255,99,132,1)',
                      borderWidth: 1
                    }]
        },
  options: {
            scales: {
                      yAxes:  [{
                                ticks: {
                                        beginAtZero:true
                                        }
                              }]
                    }
            }
  });

在网络上搜索(如何清除画布以进行重绘),我试图添加以下行:

var context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);

但是我仍然有问题。

演示我的问题

你能帮我吗?谢了。

共有1个答案

章宏峻
2023-03-14

您可能需要使用官方的d3.js API来清除图表。通过web api清除画布非常暴力,可能会导致问题。

 类似资料:
  • 问题内容: 在尝试了复合操作并在画布上绘制图像之后,我现在尝试删除图像并进行合成。我该怎么做呢? 我需要清除画布才能重画其他图像;这可能会持续一段时间,所以我认为每次绘制一个新矩形都不是最有效的选择。 问题答案:

  • 我正在尝试用python、matplotlib、numpy和tkinter创建生活游戏。在用户输入行数、列数和生成活动单元格的概率后,用户将按下“生成”按钮开始游戏。我可以显示第一个画布,但除此之外,程序似乎无法更新画布。更新时(使用while循环),我希望程序首先调用更新画布的函数,然后暂停图形0.5秒,最后清除画布,以便显示下一个更新的画布。我似乎对FigureCanvasTkAgg有最大的问

  • 问题内容: 这就是我遇到麻烦的代码的本质: 这是在开始时运行的。我稍后在另一个函数中要做的 将替换为 然后是“sample3.gif”。我被卡住了,我一直在尝试的东西都没有 工作至今。 问题答案: Add image to canvas: Change image: Full example:

  • 我正在尝试清除JavaFX中的简单画布。 启动功能 如果用户想要加载游戏,则loadSave布尔变量集为“true” 否则,它会加载新游戏 我真的很感激你的帮助。

  • 我编写了这段代码,可以在JavaFX画布上绘制。它可以很好地工作,但我不知道如何重新绘制画布(比如在Swing中),以便在新画布上重新开始绘制。这是我的代码,非常感谢你的帮助!马里奥

  • 我正在使用chart.js在html页面中创建多个图表,并且在Windows加载之后,图表将以每秒的速度动态更新,并使用新的数据值。我正在使用chart.js update()函数处理更新。所有创建的图表都存储在全局数组中,然后获取这些图表进行更新。 当我第一次打开html页面时,每秒都会更新图形(显示实时测量数据),但当我移动到webapp中的另一个子页面,然后返回到图形应该所在的页面时,所有画