chart.js怎么图表设置实际大小

发布于 2022-09-04 04:59:59 字数 2245 浏览 15 评论 0

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    
    <title></title>
   
    <script src="../js/Chart-1.0.1-beta.4.js"></script>
    <script>
        var data = {
            labels: ["MON", "TUS", "WED", "THU", "FRI", "SAT","SUN"],
            datasets: [{

// lineItemName: "test1",

                    fillColor: 'rgba(238,90,133,0.7)',
                    strokeColor: "rgb(238,90,133)",
                    pointColor: "#5b5956",
                    pointStrokeColor: "#a54d65",
                    data: [50, 38, 20, 40, 58, 50 ,40]
                },

            ]
        };
        var chartLine = null;
        window.onload = function() {
            var ctx = document.getElementById("myChart").getContext("2d");
            
            
            chartLine = new Chart(ctx).Line(data, {
                scaleOverride: true, //是否用硬编码重写y轴网格线
                scaleSteps: 3, //y轴刻度的个数
                scaleStepWidth: 20, //y轴每个刻度的宽度
                scaleStartValue: 0, //y轴的起始值
                pointDot: true, //是否显示点
                pointDotRadius: 3, //点的半径
                pointDotStrokeWidth: 2, //点的线宽
                datasetStrokeWidth: 1, //数据线的线宽
                animation: true, //是否有动画效果
                animationSteps: 60 ,//动画的步数
                scaleLineWidth : 1,
                // Y/X轴的颜色
                scaleLineColor : '#686665',
                scaleGridLineColor : "#686665",
                scaleFontSize : 12,
                scaleFontColor : "#fff",
            });

         
        }
    </script>
</head>
<body>
    
        <canvas id="myChart" width="400" height="200" ></canvas>
                

</body>

</script>

</html>

=================================================================

问题就是,加了viewport那行,图表就不缩放了,始终是固定大小,不加那行,就是自适应大小。这怎么搞?也没有对canvas实际内容设置大小的地方。给myChart动态设置宽高也根本不管用,求解求解!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

神经大条 2022-09-11 04:59:59

“user-scalable=no”这表示禁止用户缩放,如果改成“user-scalable=yes”就是同意用户缩放,和你的需求其实并没有冲突吧(只是对用户拉伸放大或缩小做了规定)。话说,我还是不明白题主你到底是要它自适应还是要他固定宽高?https://www.zhihu.com/questio...这是知乎上canvas自适应宽高的讨论,希望能帮到你

过期以后 2022-09-11 04:59:59

我理解你的意思是想把图表显示得比显示区域大,然后超出的部分通过拖动来查看?

我对这个工具本身没啥研究,不过有一个解决方案可以尝试一下。

用两层 DIV 作为容易,第一层限定大小,就是显示大小,设置 overflow: auto
第二层按你期望的图表大小设置大小,并在这上面画图。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文