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

chartjs——不考虑反应图中的高度

陈项禹
2023-03-14

我正在使用图表 (http://chartjs.org)。我试图给我的图表一个特定的高度,但它没有采取它。图表设置为响应式,因此我使用宽度100%。请检查下面的代码和笔。

Javascript/**线图*/

var randomScalingFactor = function(){ return Math.round(Math.random()*50)};
var lineChartData = {
    labels : ["January","February","March","April","May","June","July"],
    datasets : [
        {
            label: "My First dataset",
            fillColor : "rgba(220,220,220,0.2)",
            strokeColor : "rgba(220,220,220,1)",
            pointColor : "rgba(220,220,220,1)",
            pointStrokeColor : "#fff",
            pointHighlightFill : "#fff",
            pointHighlightStroke : "rgba(220,220,220,1)",
            data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
        },
        {
            label: "My Second dataset",
            fillColor : "rgba(151,187,205,0.2)",
            strokeColor : "rgba(151,187,205,1)",
            pointColor : "rgba(151,187,205,1)",
            pointStrokeColor : "#fff",
            pointHighlightFill : "#fff",
            pointHighlightStroke : "rgba(151,187,205,1)",
            data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
        }
    ]

}

window.onload = function(){ 
    var ctx = document.getElementById("canvas").getContext("2d");
    window.myLine = new Chart(ctx).Line(lineChartData, {
        responsive: true
    });
}

断续器

<div style="width: 100%; height: 300px">
    <canvas id="canvas"></canvas>
</div>

CoDepen-http://codepen.io/rushenn/pen/PwGjOr

如何在响应式图表上设置特定高度?

共有1个答案

归和惬
2023-03-14

您是否尝试过直接将高度赋予画布而不是包装div?

试试这个css。

    canvas{
        width: 100% !important;
        max-width: 1000px;
        height: auto !important;
    }

<canvas id="canvas" width="1000" height="300"></canvas>

这段代码适用于我的。

 类似资料:
  • 我在Spring Boot应用程序中使用React Axios进行API调用。 我的应用程序上下文路径是test 当我在浏览器中启动应用程序时,http://localhost:8080/test,反应页面呈现。在页面呈现中,我正在调用服务 因此,预期调用应为http://localhost:8080/test/api/events,因为test是上下文根。但是,API调用中添加了测试。 只是打电

  • 问题内容: 我在液体中有一个元素。该img 设置为100%。因此,如果图像比div高,则应将其渲染为与div一样高。 .png文件的原始大小为200x200。在我的浏览器中,div显示为284x123。因此,应将img渲染为123x123,以保持其宽高比。 但是,img打破了div的界限,仍然显示为200x200。我似乎无法弄清楚为什么会这样。 这是在Chrome上发生的,但不是在Firefox上

  • 我现在是这样做的: > 我有一个在后台运行并读取用户位置的服务。每次读取一个有效的位置(有一些参数,如距离和时间),一个IntentService开始将该位置发送到网络服务器 使用追踪服务的应用程序也有一些网络通话,具体取决于用户按下的选项。现在,应用程序只是在异步任务中调用web服务。 一些代码:位置服务会在每次收到好位置时启动IntentService,如下所示: intentservice处

  • 我在制作极坐标图时遇到了一些问题。我应该得到一个8字形的图形(我的一些朋友在Origin和Excel中绘制了数据,它确实可以工作),但代码似乎编写不正确。通过查看该图,我看到代码没有考虑我正在编写的角度(θ数组),但我不知道为什么会发生这种情况。我已经尝试了更多的代码,并用弧度来书写角度,但似乎没有任何效果。 我也尝试过:

  • 问题内容: CSS: HTML: 我正在寻找此svg图像,以按比例缩放到30像素高的最大高度。svg的自然尺寸为200pxx200px。在FF和Chrome(30x30)上效果很好,但在IE9中图像为30x200。现在这里是踢腿者。仅在某些SVG文件中会发生这种情况,其他svg会正确缩放。 看起来区别是一个是由多边形组成的,另一个是由路径组成的。 可以正确缩放: 关于发生这种情况的任何想法,或者我

  • 我正在尝试Flink对从CSV文件加载的(排序的)时间戳事件进行基本聚合。 我告诉Flink使用活动时间: 然后我在KeyedStream上使用一个时间窗口 问题是,将窗口更改为10分钟实际上会在该时间过后打印结果! 我的理解是,通过明确告诉Flink使用时间戳字段作为事件时间,操作将不依赖于机器上的实时性。我错过什么了吗?