为了账号安全,请及时绑定邮箱和手机立即绑定

如何突出显示 chartjs 中的特定数据点,我的数据来自 json 数组?

如何突出显示 chartjs 中的特定数据点,我的数据来自 json 数组?

PHP
qq_遁去的一_1 2022-06-11 09:27:22
// 这里我从 phpfile 获取另一个 json 编码数据       $(document).ready(function () {        showGraph();    });    function showGraph()    {        {            $.post("phpfile.php",            function (data)            {                console.log(data);                 var name = [];                var marks = [];                var height=[];//在这里,因为我无法单独编码两个 json 数组,所以我将它声明为一个变量,然后使用它   var jsonfile =[{"height":"85","st_name":"Name1"},{"height":"100","st_name":"Name3"},{"height":"92","st_name":"Name4"},{"height":"104","st_name":"Name5"},{"height":"91","st_name":"Name2"},{"height":"99","st_name":"Name6"},{"height":"140","st_name":"AI346"},{"height":"139","st_name":"abc"},{"height":"141","st_name":"def"},{"height":"140","st_name":"ghi"},{"height":"144","st_name":"jkl"},{"height":"130","st_name":"lmn"},{"height":"142","st_name":"opq"},{"height":"132","st_name":"rst"},{"height":"135","st_name":"xyz"},{"height":"135","st_name":"asdfsf"}];//这里我从phpfile(1st Json array)读取数据                    for (var i in data) {                    name.push(data[i].st_name);                    marks.push(data[i].height);                }//这里我试图从第二个json访问数据             for (var i=0;i<jsonfile.length;i++){                    if(jsonfile[i].height==100)                        { height.push(jsonfile[i].height)}                }//我的图形函数,当我这样做时,我得到一个带有第二个json(高度变量)的单点,但我需要在某种条件下突出显示特定点......我不明白该怎么做。           var chartdata = {                    labels: name,                    datasets: [                        {                            label: 'height',                            fill:false,                            lineTension:0.5,                            backgroundColor: '#5B2C6F',                            borderColor: '#5B2C6F',                            pointHoverBackgroundColor: '#5B2C6F',                            pointHoverBorderColor: '#5B2C6F',                            data: marks                            //data:height                        },    </script>
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

//img1.sycdn.imooc.com//62a3efa200014c1104700458.jpg

我会努力改善这一点。


var data =[{"height":"85","st_name":"Name1","color":"rgba(85, 85, 255, 255)"},{"height":"100","st_name":"Name3","color":"rgba(255, 0, 0, 2)"},{"height":"92","st_name":"Name4","color":"rgba(85, 85, 255, 255)"},{"height":"104","st_name":"Name5","color":"rgba(85, 85, 255, 255)"}];



    var height = [];

    var label = [];

    var color = [];


    for(i = 0; i<data.length; i++){

        height.push(data[i]['height']);

        label.push(data[i]['st_name']);

        color.push(data[i]['color']);

    }


    var ctx = document.getElementById('myLine').getContext('2d');


    var myLineChart = new Chart(ctx, {

        type: 'line',

        data: {

            labels: label,

            datasets: [{

                data: height,

                pointBorderColor: color,

            }]  

        }     

    });


查看完整回答
反对 回复 2022-06-11
  • 1 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号