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

Chartjs 2. x-重绘图表时更改数据集颜色

裴劲
2023-03-14

问题是:我正在使用外部数据(用户上传的带有数据集信息的.txt文件)绘制图表。但是如果用户错误地上传了错误的文件,他应该能够上传另一个文件,从而重新绘制图表。

以下是当我一个接一个地上传多个文件时,图表呈现会发生什么情况:

他们看起来像什么的例子:http://imgur.com/a/NDRgS

每次再次绘制图表时,背景颜色都会变暗。每次用户上传文件时,我都会执行以下操作:

  1. 做一个chart.destroy()和一个chart.clear()
  2. 删除使用过的画布并为新图表使用新的画布

这是一个已知的问题吗?有人知道可能会发生什么吗?

共有1个答案

拓拔富
2023-03-14

我尝试了很多关于清理画布和图表实例的方法,但最终采用了另一种方法(可能是更好的方法)。我没有移除图表(及其画布)并创建新的图表,而是更新了图表的数据(用新的数据集替换旧的数据集)。

for(var i = 0; i < $scope.chartsList.length; i++) {
  var chart          = $scope.chartsList[i];
  var firstDataSet   = $scope.formattedData[i];
  var secondDataSet  = $scope.formattedData[i + 15];                

  for(var j = 0; j < 51; j++) {
    chart.config.data.datasets[0].data = firstDataSet;
    chart.config.data.datasets[1].data = secondDataSet;

    chart.update();
  }

搞定了。

 类似资料:
  • 我想实现一个实时更新功能,添加列功能基于可编辑DataTablehttps://dash.plotly.com/datatable/editable的留档,以便在CSV文件更新时向可更新的添加一列。我有回调工作,我可以添加新的列,因为新的CSV数据是通过实时更新更新的,但我遇到了一些问题。在我的第一次尝试中(标记为第一个代码),我声明了一个全局变量(我知道在DASH中是坏的),试图跟踪当前的CSV

  • 这个问题很基本,但是我想确定没有比我现在做的更好的方法了。假设我有一个脸书图标。到目前为止,当用户悬停在该图像上时,我会显示不同的图像以更改颜色。有没有一种替代的CSS方法来做到这一点,所以我不使用多个图像? 在下面的小提琴中,我试图改变背景,但这只覆盖了整个图像。 JSFIDLE

  • 我的文件夹中有这个xml。 我基本上是用它来为任何视图设置圆角,我将其设置为背景。但我想知道的是,如何保持该视图的颜色/背景色调动态。因为假设我有三个视图,它们都需要圆角,但都需要不同的颜色,所以在这一刻我必须创建三个不同的可绘制文件并分别为每个文件设置颜色。正如我在上面的文件中所做的那样。我尝试过在原始视图上使用,但它不起作用。

  • 问题内容: 我有一个由大量线组成的图。在每一步中,线条的颜色都应在动画中更新,但是在线条上进行for循环似乎确实很昂贵。有什么更好的方法吗? 这是我的代码: 另外,我无法与动画艺术家合作!我用平局。动画行有什么问题 现在将那些10s增加到100s会使程序非常慢: 正如我说的,我想与动画并排运行。因此,我更喜欢将其制作成动画。我认为这至少可以在动画开始之后解决滞后问题,但是现在按照我定义它的方式,它

  • 我想改变字体的颜色,或者在字体中添加阴影以提高可视性。然而,我还没有找到一种方法去做。一种替代方法是使用plotly,但当你将plotly对象放入闪亮的应用程序并在手机中可视化时,你会失去交互标签,因此networkD3提供了更好的集成。唯一的问题是,我很难个性化服装。我想改变字体颜色。 一个值得指责的例子:

  • 我目前正在使用GraphDB来可视化一些具有图形性质的数据。我已经将RDF数据导入到图形数据库中,实际上图形非常漂亮。唯一的缺点是每个节点都是橙色的。 我当时想知道graphDB是否有某种机制,可以根据它们之间的语义关系来改变某些节点的颜色。例如: