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

如何使用chart.js为多个饼图设置图例和标题

席波娃
2023-03-14

我的php页面有多个动态饼图,我希望使用chart.js为每个饼图显示图例和标题

这是我的JS代码:

    printf( '<script type="text/javascript" src="django/static/js/Chart.min.js"></script>' );
    printf( '<script type="text/javascript" src="extlib/jquery-min.js"></script>' );
    printf( '<script type="text/javascript">' );
    ?>
    function drawPie(canvasId,data){
    var ctx = $("#pie-canvas-" + canvasId).get(0).getContext("2d");

    var piedata = [];
    $.each(data,function(i,val){
    piedata.push({value:val.count,color:val.color,label:val.status});
    });

    new Chart(ctx).Pie(piedata);}
    <?php
    printf('</script>');

PHP代码:

foreach ( $poolArray as $pool ) {//for multiple charts
     $data = statusPool($pool);
     echo '<td style="text-align: center;"><canvas id="pie-canvas-'
          . $canvasId
          . '" width="200" height="200"></canvas>';

     $data3 = json_encode($data, JSON_NUMERIC_CHECK);
     echo '<script type="text/javascript">drawPie('
          . $canvasId
          . ', '
          . $data3
          . ');</script>';
   }

请建议我为每个饼图设置一个标题和图例。

共有1个答案

慕容明煦
2023-03-14

看见http://www.chartjs.org/docs/#advanced-用法原型方法-对象上的new Chart(ctx).Pie(piedata)方法将返回图例的HTML。然后可以将返回值分配给某个DOM元素的innerHTML

例如,添加一个

var pc = new Chart(ctx).Pie(piedata);
document.getElementById("legend").innerHTML = pc.generateLegend();

要在图表中添加标题,只需添加一个HTML标题(例如

 类似资料:
  • 我正在使用mpandroid图表库创建饼图。 我想格式化饼图上的文本标签,但我不知道如何做到这一点 但是,它只改变数据的值,而不是标签。此外,我想成为饼图中的标签。我还尝试使用以下代码, 但是,它不起作用。 我的代码如下: 简而言之,我想做的就是 更改饼图中的标签颜色(从白色变为黑色) 防止标签超出饼图。(如图中所示的剩余划痕) 有人能帮我吗? 我还尝试了以下链接中提到的这些解决方案。 链接1链接

  • 我最近更新了我的charts.js库到最新版本(2.5.0)。这个版本不显示图表上的标签。 我有一个在《小提琴手:http://jsfiddle.net/g6fajwg8》上工作的例子。 但是,我完全按照示例中的方式定义了我的图表,但仍然看不到图表上的标签。 注意:在Google和Stackoverflow上有很多这样的问题,但其中大多数都是关于以前的版本,这些版本在它们上运行良好。

  • 可能吗?怎样 我曾尝试在多个图表、一个图例、多个图表Chart js等上切换Chart.js sync legend。但是,这些解决方案有一个带有图例的图表,并且该图例会影响其他图表。 我应该隐藏图表并只显示图例吗?我应该画一张没有数据的图表吗? 如果你能告诉我,我就毕业了 HTML JS

  • 我试图添加自定义渲染器的每个饼图在我的图表上的基础上,数据的类型是传递(整数vs美元,金额vs百分比)。但是,中的数据似乎只有1个键(然而,当数据集创建为时,它有和)。 在下面的图片中,我试图实现的是右边的图(“销售总额”)将显示美元金额()。 我尝试了什么:我尝试创建一个自定义呈现器,并传入datatype的枚举,但这不起作用,因为数据类型是因为我无法确定呈现器中呈现的是哪个馅饼: 这可能吗?所

  • 我如何设置图像以便我可以存档和验证我的应用程序?现在的屏幕是这样的: 所以第一个写的是,但接着它也写的是。那么我是放图像还是放图像?我要把其他的都放哪?(我知道有比、和更多的大小)。 不管怎样,我尝试的是将png拖到第一个插槽上,将拖到第二个插槽上,将拖到第三个和第四个插槽上。当我转到时,我得到

  • 本文向大家介绍DevExpress设置饼状图的Lable位置实例,包括了DevExpress设置饼状图的Lable位置实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了DevExpress设置饼状图的Lable位置的方法。分享给大家供大家参考。具体实现方法如下: 关键代码如下: 运行效果如下图所示: 希望本文所述对大家的C#程序设计有所帮助