Chart.js,在图表中添加页脚

wen*_*nzf 7 javascript chart.js

使用Chart.js 2.0.我正在寻找一种在图表底部添加页脚(文本行)以显示数据源的方法.

我尝试通过选项对象解决它,与包含和修改标题和图例的方式相同.像这样:

`options: { ... 
  footer: {
    display: true,
    text: 'data from xy'
  }
}`
Run Code Online (Sandbox Code Playgroud)

我在文档中提到了几次"页脚"以及在"工具提示"的上下文中使用它的方式或者使用它,但是没有看到任何具体如何添加它的内容.

编辑/更新:我发现两个解决方法(但没有完美的解决方案)在尝试解决此问题时向图表添加页脚.如果有人像我一样遇到同样的问题,这里有一些建议如何解决这个问题.

NR.1:添加HTML元素.此解决方法的缺点是,如果用户将图表下载为.png,则不会显示添加的HTML元素.也许这是最好的解决方案,如果用户将图表下载为.png,则不必显示该元素.

`var myChart = new Chart(ctx, {
  type: 'line',
  data: { ... },
  options: {
   legend: { ... },
   ... 
   legendCallback: function(){
    return '<p>bla bla</p>';
   },
  ...
 },
});
document.getElementById('legendID').innerHTML = 
myChart.generateLegend();` 
Run Code Online (Sandbox Code Playgroud)

在画布上添加一个div来附加新的HTML元素 <div id=legendID></div>

NR.2:添加另一个空的数据集,但是包含应该显示的信息的标签.borderColor和backgroundColor设置为透明.添加一些空标签("")会在标签和添加的页脚之间留出一些距离.这种解决方法的缺点是造型的可能性有限.

NR.3:ana liza的解决方案.这最终适用于我的情况,因为添加的信息在.png上可见.

Ana*_*dac 5

从官方文档

贴标轴

创建图表时,您想告诉查看者他们正在查看哪些数据。为此,您需要标记轴。

比例标签配置嵌套在scaleLabel键中的比例配置下。它定义了比例标题的选项。请注意,这仅适用于直角坐标轴。

您可以为两个轴都添加标签,但在这种情况下,因为您只需要在上添加标签,所以x-axis图表options应与此类似。

var options = {
  scales: {
    xAxes: [
      {
        scaleLabel: {
          display: true,
          labelString: 'Party size',
          fontColor: '#C7C7CC',
          fontSize: 11
        }
      }
    ]
  }
};
Run Code Online (Sandbox Code Playgroud)

  • 是的,我正在考虑在画布后立即使用html / css手动添加它,但是正如您所提到的,它不会出现在画布图像中-如果有人将图表下载为.png,则不会显示源在.png中。我希望通过“页脚”对象(如果“页脚”指的是图表底部)可以做到这一点,因为在图表底部添加源非常普遍。-但是,如果我在图表顶部执行图例,则您的解决方案有效。再次感谢! (4认同)
  • @wenzf我认为您正在将工具提示页脚与图表页脚混淆,chart.js库提供的页脚用于工具提示,并且可以添加到类似这样的选项中:工具提示:{回调:{页脚:function(tooltipItem,数据){返回“总计:100个浮雕”。}}}`。这是工具提示页脚的工作示例-&gt; http://jsfiddle.net/Lzo5g01n/14/ (3认同)