chart.js - 无法设置 ChartJS Canvas 宽度

标签 chart.js

我无法让 ChartJS 将自身限制为 200px。它占据了浏览器的整个宽度。我缺少什么。

我正在使用以下 CDN

<div id="pnlChart" style="height:200px" >
   <canvas id="myChart" width="400" height="200" class="chart" ></canvas>
</div>

从服务器返回的我的数据似乎格式良好并且正确绘制了图表。它没有宽度/高度。 (我已从 Chrome 的开发工具中提取了此内容。

{"类型":"行","标签":[0,2,6,7,8,9,10,11,12,13,14,1,3,4,5,15,16 ,17,18,19,20,21,22,23],"数据集":[{"标签":"数据","数据":[2,1,8,36,119,179,214,165,87,173,220,0,0,0 ,0,0,0,0,0,0,0,0,0,0]}]}

最佳答案

您应该能够通过告诉 Chart.js 不要使用响应模式来禁用此容器宽度填充行为。尝试将其传递到图表的全局配置中(最高级别的选项):

options: {
    responsive: false
}

参见the Chart.js documentation有关如何将其融入图表的完整定义的示例。

如果由于某种原因这不起作用,那么您可以限制 div 元素的宽度,该元素包含绘制图形的 canvas 。根据您的示例,您可以将其添加到 CSS 中:

div#pnlChart {width: 200px}

即使您可以使用其中一种方法,理想情况下您也不希望现在为项目指定固定宽度,因为这使得页面更难在无数正在使用的设备屏幕上良好地显示现在。

最好为您的网站开发响应式布局,该布局可以调整以适应从小型智能手机到大型桌面显示器的任何屏幕宽度。在线搜索有关“响应式设计”的指南,找到有关此主题的文章。

关于chart.js - 无法设置 ChartJS Canvas 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466492/

相关文章:

javascript - 使用 Chart.js 在一页中绘制多个图表

chart.js - 我想在工具提示中隐藏标签,因为它显示未定义

javascript - Chartjs 创建类似的背景,就像在 Chartjs.org 中一样

javascript - 如何使用chartjs 仅显示偶数值的网格线?

javascript - Chart.js 解析器返回错误的日期(突然回到 1990 年)

javascript - 为什么悬停在雷达图上的某个点上看不到数据值?

javascript - 如何将类设置为由自定义工具提示功能创建的 HTML 元素?

javascript - 图表js数据抽取不起作用,解析问题

javascript - Chart.js 的垂直网格线问题

javascript - ChartJS 未呈现