我有一张x轴滚动的图表。(chartjs版本2.7.2)
https://jsfiddle.net/r70v96ta/2/
在代码末尾添加数据的地方,您可以选择要添加的记录数:
addData(5,图表测试)
如果我添加更多的记录,图形在Y轴上会变大。我希望数据在X轴上与滚动条一起变长,但保持相同的高度。我试着在画布被操纵的每一个地方硬编码高度,但是没有成功。我的理想是,一旦Y轴比例固定,就能够引入具有可变记录数的数据集,并将图形大小和比例保持在Y轴上,如果数据集更大,则使X轴滚动更大(意味着更长),反之亦然。
编辑:
我还试图为css类设置参数,以获得我所追求的Y轴纵横比约束。这似乎可以通过画布纵横比的相应排列来实现
如果in有任何不同,我的图被包装在一个带有这个css类的
div
元素中:
.mainBlank
{
background-color: white;
width: 100%;
min-height: 100vh;
max-height: 100%;
}
编辑2:
使用此html:
<div style="width: 100%; overflow-x: auto; overflow-y: hidden">
<div id="canvasParent" style="width: 2000px; height: 300px">
<canvas id="chart1" height="300" width="0"></canvas>
</div>
</div>
并在数据更改时设置客户端中的宽度:
const newWidth = (chart.data.datasets[0].data.length * 30).toString() + "px";
$('#canvasParent').css({ width : newWidth});
我达到了预期的效果。然而,我不明白为什么在小提琴的例子中图表高度会改变。
似乎为画布定义了初始宽度和高度,因此为其定义了宽高比(使用)
因此,更改
下面是完整正确的html,可以粘贴在小提琴中,以便在
addData(500,chartTest)中添加大量数据之后
达到了理想的高度保持效果。
欢迎任何进一步的解释或我可能错过的要点。
<div class="chartWrapper">
<div class="chartAreaWrapper">
<div class="chartAreaWrapper2">
<canvas id="chart-Test" height="300" width="0"></canvas>
</div>
</div>
<canvas id="axis-Test" height="300" width="0"></canvas>
</div>
这个问题在这里已经得到了回答
如果禁用“选项”中的“保持纵横比”,则它将使用可用高度:
var chart = new Chart('blabla', {
type: 'bar',
data: {},
options: {
maintainAspectRatio: false,
}
});
我正在尝试修复python如何绘制数据。 说 和 然后我会做: x轴的刻度以5为间隔绘制。有没有办法让它显示1的间隔?
我正在尝试修复python如何绘制数据。 说 和 然后我会做: x轴的刻度以5的间隔绘制。有没有办法让它显示1的间隔?
问题内容: 我有一个始终从x = 0开始的JFree XY折线图。然后,根据属性文件中用户定义的设置,应用程序将根据该数字(以分钟为单位)递增。 例如,x = 0开始时,用户定义的设置为5,因此刻度变为0、5、10、15、20…,或者用户设置为3,因此变为0、3、6、9、12…非常简单。 我遇到的问题是图表开始的方式。如果我从0开始,则0在图形的中间,而不是在左下角的-0.0000005,-0.0
问题内容: 我正在尝试修复python如何绘制数据。 说 和 然后我会做: 并且x轴的刻度线以5的间隔绘制。是否有办法使其显示1的间隔? 问题答案: 你可以使用以下命令显式设置要在刻度线打勾的位置: 例如, (以防万一,使用它而不是Python的range函数,它们是浮点数而不是整数。) 的(或)功能将自动设置默认x和y限制。如果你希望保留这些限制,而只是更改刻度线的步长,则可以用来发现已设置的限
我正在使用JFreeChart制作一个条形图与时间。由于某些原因,在这些图表上,x轴上的刻度标签变为“…”偶尔地似乎有足够的空间来扩展标签,但它只是切断了整个事情。我怎样才能解决这个问题。 我试着用图片按钮上传一张图片,但它似乎不起作用。 下面是与我的项目设置相似的代码。奇怪的是,它的行为不同于我的建筑。在我的上面,不是说“侯......”,而是说“......”。请忽略评论和所有其他未编辑的东西
我有一张图表,我已经知道我需要的刻度数。有3个是分组条形图。我在绞尽脑汁想怎么强迫它。现在它显示0到我的数据集中的任何数字,并根据需要自动缩放。 默认情况下,假设我使用数字来缩放,但在这种情况下,它是Y轴上的正、中性、负(字面意思是这些标签),它们是与X轴上的特定日期相关的数据点(有2个分组条标记为AM/PM)。 图表。js文档似乎没有解释如何在ticks配置的数字之外进行调整,我也不确定如何将其