Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Chart.js中使用线条动态更改点位置?_Javascript_Chart.js - Fatal编程技术网

Javascript 如何在Chart.js中使用线条动态更改点位置?

Javascript 如何在Chart.js中使用线条动态更改点位置?,javascript,chart.js,Javascript,Chart.js,我使用的是Chart.js v1 stable中的折线图,我想动态地更改点的位置以及连接到它的线,就像我使用javascript向上滑动点一样,连接到它的点也会移动。有人知道怎么做吗 谢谢 $(document).ready(function() { var data = { labels: ["Dec", "Jan", "Feb", "March", "April", "May", "June"],

我使用的是Chart.js v1 stable中的折线图,我想动态地更改点的位置以及连接到它的线,就像我使用javascript向上滑动点一样,连接到它的点也会移动。有人知道怎么做吗

谢谢

        $(document).ready(function() {



            var data = {
                labels: ["Dec", "Jan", "Feb", "March", "April", "May", "June"],
                datasets: [
                    {
                        label: "My Second dataset",
                        fillColor: "rgba(151,187,205,0.2)",
                        strokeColor: "#ed1b2e",
                        pointColor: "red",
                        pointStrokeColor: "#fff",
                        pointHighlightFill: "#fff",
                        pointHighlightStroke: "rgba(151,187,205,1)",
                        data: [-28, -48, -40, -19, -86, -27, -90]
                    }
                ]
            };


            // Get the context of the canvas element we want to select
            var ctx = document.getElementById("myChart").getContext("2d");
            var myLineChart  = new Chart(ctx).Line(data, {
                bezierCurve: false
            }); 


            setTimeout(function() {
                var len = myLineChart.datasets[0].points.length;
                myLineChart.datasets[0].points[len-1].fillColor = "blue";
                myLineChart.datasets[0].points[len-1].y = 250;   // <---- doesn't work, it moves but then slides back to initial location
                myLineChart.update();
            }, 5000);

            var g = myLineChart.datasets[0];

            Chart.defaults.global = {
                // Boolean - Whether to animate the chart
                animation: true,

                // Number - Number of animation steps
                animationSteps: 60,

                // String - Animation easing effect
                // Possible effects are:
                // [easeInOutQuart, linear, easeOutBounce, easeInBack, easeInOutQuad,
                //  easeOutQuart, easeOutQuad, easeInOutBounce, easeOutSine, easeInOutCubic,
                //  easeInExpo, easeInOutBack, easeInCirc, easeInOutElastic, easeOutBack,
                //  easeInQuad, easeInOutExpo, easeInQuart, easeOutQuint, easeInOutCirc,
                //  easeInSine, easeOutExpo, easeOutCirc, easeOutCubic, easeInQuint,
                //  easeInElastic, easeInOutSine, easeInOutQuint, easeInBounce,
                //  easeOutElastic, easeInCubic]
                animationEasing: "easeOutQuart",

                // Boolean - If we should show the scale at all
                showScale: true,

                // Boolean - If we want to override with a hard coded scale
                scaleOverride: false,

                // ** Required if scaleOverride is true **
                // Number - The number of steps in a hard coded scale
                scaleSteps: null,
                // Number - The value jump in the hard coded scale
                scaleStepWidth: null,
                // Number - The scale starting value
                scaleStartValue: null,

                // String - Colour of the scale line
                scaleLineColor: "rgba(0,0,0,.1)",

                // Number - Pixel width of the scale line
                scaleLineWidth: 1,

                // Boolean - Whether to show labels on the scale
                scaleShowLabels: true,

                // Interpolated JS string - can access value
                scaleLabel: "<%=value%>",

                // Boolean - Whether the scale should stick to integers, not floats even if drawing space is there
                scaleIntegersOnly: true,

                // Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value
                scaleBeginAtZero: false,

                // String - Scale label font declaration for the scale label
                scaleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",

                // Number - Scale label font size in pixels
                scaleFontSize: 12,

                // String - Scale label font weight style
                scaleFontStyle: "normal",

                // String - Scale label font colour
                scaleFontColor: "#666",

                // Boolean - whether or not the chart should be responsive and resize when the browser does.
                responsive: true,

                // Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
                maintainAspectRatio: true,

                // Boolean - Determines whether to draw tooltips on the canvas or not
                showTooltips: true,

                // Function - Determines whether to execute the customTooltips function instead of drawing the built in tooltips (See [Advanced - External Tooltips](#advanced-usage-custom-tooltips))
                customTooltips: false,

                // Array - Array of string names to attach tooltip events
                tooltipEvents: ["mousemove", "touchstart", "touchmove"],

                // String - Tooltip background colour
                tooltipFillColor: "rgba(0,0,0,0.8)",

                // String - Tooltip label font declaration for the scale label
                tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",

                // Number - Tooltip label font size in pixels
                tooltipFontSize: 14,

                // String - Tooltip font weight style
                tooltipFontStyle: "normal",

                // String - Tooltip label font colour
                tooltipFontColor: "#fff",

                // String - Tooltip title font declaration for the scale label
                tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",

                // Number - Tooltip title font size in pixels
                tooltipTitleFontSize: 14,

                // String - Tooltip title font weight style
                tooltipTitleFontStyle: "bold",

                // String - Tooltip title font colour
                tooltipTitleFontColor: "#fff",

                // Number - pixel width of padding around tooltip text
                tooltipYPadding: 6,

                // Number - pixel width of padding around tooltip text
                tooltipXPadding: 6,

                // Number - Size of the caret on the tooltip
                tooltipCaretSize: 8,

                // Number - Pixel radius of the tooltip border
                tooltipCornerRadius: 6,

                // Number - Pixel offset from point x to tooltip edge
                tooltipXOffset: 10,

                // String - Template string for single tooltips
                tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>",

                // String - Template string for multiple tooltips
                multiTooltipTemplate: "<%= value %>",

                // Function - Will fire on animation progression.
                onAnimationProgress: function(){},

                // Function - Will fire on animation completion.
                onAnimationComplete: function(){}
            }
        });
$(文档).ready(函数(){
风险值数据={
标签:[“十二月”、“一月”、“二月”、“三月”、“四月”、“五月”、“六月”],
数据集:[
{
标签:“我的第二个数据集”,
填充颜色:“rgba(151187205,0.2)”,
strokeColor:#ed1b2e“,
点颜色:“红色”,
pointStrokeColor:“fff”,
pointHighlightFill:“fff”,
pointHighlightStroke:“rgba(151187205,1)”,
数据:[-28,-48,-40,-19,-86,-27,-90]
}
]
};
//获取要选择的画布元素的上下文
var ctx=document.getElementById(“myChart”).getContext(“2d”);
var myLineChart=新图表(ctx).Line(数据{
贝塞尔曲线:假
}); 
setTimeout(函数(){
var len=myLineChart.dataset[0].points.length;
myLineChart.datasets[0]。点[len-1]。fillColor=“蓝色”;

myLineChart.Dataset[0]。points[len-1]。y=250;//使用
.value
而不是
.y
,即

myLineChart.datasets[0].points[len - 1].value = 250

我不知道,但是如果没有看到你的代码,我将无法帮助你