javascript - Chart JS 图例样式

标签 javascript jquery html css chart.js

我创建了一个 Chart JS 图表并单独生成了图例,以便我可以将其移动到聊天的右侧 - 这一点很好并且可以工作,但图例本身已将其自身设计为标准元素符号列表元素符号点代替颜色键。标签已生成,没有任何问题,只是我缺少实际的彩色框。

CSS:

.legend {
   width: 50%;
   position: absolute;
   top: 100px;
   right: 20px;
   color: @light;
   font-family: @family;
   font-variant: small-caps;
   font-size: @size + 2;
}

JS:

 // Dummy Data
    var data = {
        labels: [
            "Fuel Consumption (Miles)",
            "Distance Travelled (Miles)",
            "Distance Remaining (Miles)",
            "Fuel Cost (Pounds)",
            "Time Driving (Minutes)"
        ],
        datasets: [
            {
                data: [300, 50, 100, 25, 120],
                backgroundColor: [
                    "#FF6384",
                    "#36A2EB",
                    "#FFCE56",
                    "#F86301",
                    "#FFFFFF"
                ],
                hoverBackgroundColor: [
                    "#FF6384",
                    "#36A2EB",
                    "#FFCE56",
                    "#F86301",
                    "#FFFFFF"
                ]
            }]
    };

    var options = 

{
    segmentShowStroke: false,
    animateRotate: true,
    animateScale: false,
    percentageInnerCutout: 50,
    tooltipTemplate: "<%= value %>%",
    responsive: false,
    legend: {
        display:false
    }
}

// Today's Chart
var today = document.getElementById("today").getContext("2d");
var myDoughnutChart = new Chart(today, {
    type: 'doughnut',
    data: data,
    options: options
});

document.getElementById('legend').innerHTML = myDoughnutChart.generateLegend();

HTML:

<canvas id="today" style="width: 40%;"></canvas>
<div id="legend" class="legend"></div>

这是该问题的 JSFiddle: https://jsfiddle.net/WebDevelopWolf/kbqa8fcz/

最佳答案

这是固定装置。图例实际上是在创建颜色,但由于它是自定义图例,因此您必须编写一些 css 来解决问题。

.legend ul li{list-style:none;}
.legend ul li span{ width:50px; height:15px;display:inline-block; margin-right:5px; }

Below is the working code:

// Dummy Data
    var data = {
        labels: [
            "Fuel Consumption (Miles)",
            "Distance Travelled (Miles)",
            "Distance Remaining (Miles)",
            "Fuel Cost (Pounds)",
            "Time Driving (Minutes)"
        ],
        datasets: [
            {
                data: [300, 50, 100, 25, 120],
                backgroundColor: [
                    "#FF6384",
                    "#36A2EB",
                    "#FFCE56",
                    "#F86301",
                    "#FFFFFF"
                ],
                hoverBackgroundColor: [
                    "#FF6384",
                    "#36A2EB",
                    "#FFCE56",
                    "#F86301",
                    "#FFFFFF"
                ]
            }]
    };

    var options = 

{
    segmentShowStroke: false,
    animateRotate: true,
    animateScale: false,
    percentageInnerCutout: 50,
    tooltipTemplate: "<%= value %>%",
    responsive: false,
    legend: {
        display:false
    }
}

// Today's Chart
var today = document.getElementById("today").getContext("2d");
var myDoughnutChart = new Chart(today, {
    type: 'doughnut',
    data: data,
    options: options
});

document.getElementById('legend').innerHTML = myDoughnutChart.generateLegend();
.legend {
   width: 50%;
   position: absolute;
   top: 100px;
   right: 20px;
   color: @light;
   font-family: @family;
   font-variant: small-caps;
   font-size: @size + 2;
}
.legend ul li{list-style:none;}
.legend ul li span{ width:50px; height:15px;display:inline-block; margin-right:5px; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.bundle.js"></script>
<canvas id="today" style="width: 40%;"></canvas>
<div id="legend" class="legend"></div>

关于javascript - Chart JS 图例样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43934042/

相关文章:

javascript - fontawesome 如何与 React 一起工作?

javascript - Jquery Quicksand基于html5数据属性对元素进行排序

javascript - 使用 javascript 隐藏/显示 css div - 隐藏后不再显示 -

javascript - 使用 jQuery 检索多个 DIV 的 ID 并存储在数组中

javascript - 父 div 滚动控制子 div 滚动事件

javascript - 搜索时不弹出模态功能,且 "close"功能未关闭

javascript - 使用字符串参数调用 javascript 函数

Javascript 正则表达式 - 插入单词(命中)

jquery - 如何在 JQuery Select2 插件中使用选定值创建占位符文本

javascript - jQuery - 在特定元素之间插入一个 div