gpt4 book ai didi

jqplot - 强制刻度为整数

转载 作者:行者123 更新时间:2023-12-04 19:33:19 27 4
gpt4 key购买 nike

this question完全相同,但由于我没有赞成它的声誉(也无法回答),我将不得不再次询问......

给定如下图,我如何强制刻度始终为整数,即使该图为空?目前,如果图表没有数据,它将变为 0, 0.2, 0.4, 0.6, 0.8, 1.0,但在此图表的上下文中,这没有任何意义 - 什么是被显示的只能由整数组成。如果涉及的数字非常小,它偶尔会显示为,例如 1.0, 1.5, 2.0, 2.5, 3.0, 3.5 (etc),这同样是不理想的。由于该图表表示一天中发生的事情,因此它每天从零开始并缓慢增长,第二天重置为零。理想情况下,我希望刻度从 0、1、2、3、4、5 开始,然后根据数据适当缩放。

有什么建议吗?我已经在 X 轴和 Y 轴上尝试了 tickInterval: 1(以及 550...),但是没有似乎什么都做......也许是 JQPlot 中的错误?

编辑:JSFiddle Example显示问题。

$.jqplot('chartdiv', [ data.a, data.b ], {
title : "Title",
stackSeries : true,
seriesDefaults : {
renderer : $.jqplot.BarRenderer,
rendererOptions : {
barMargin : 15,
barDirection : 'horizontal'
},
pointLabels : {
show : true,
stackedValue : false
},
},
seriesColors : [ "#651811", "#126542" ],
axesDefaults : {
tickRenderer : $.jqplot.CanvasAxisTickRenderer,
tickOptions : {
fontSize : '8pt'
}
},
axes : {
xaxis : {
label : "X-Label",
},
yaxis : {
renderer : $.jqplot.CategoryAxisRenderer,
ticks : [ "T1", "T2", "T3", "T4" ],
tickOptions : {
angle : -75
},
label : "Y-Label",
labelRenderer : $.jqplot.CanvasAxisLabelRenderer,
labelOptions : {
angle : -90
},
}
},
highlighter : {
show : false,
showTooltip : false,
},
legend : {
show : true,
location : 'e',
placement : 'outside',
labels : [ 'L1', 'L2' ]
}
});

最佳答案

您可能更幸运地设置轴的最大值和最小值,然后让 JQPlot 填充刻度值。

// This is YOUR data set
var series = [882, 38, 66, 522, 123, 400, 777];

var max;

if (series.length > 0) {
// Instead of letting JQPlot pick the scale on the y-axis, let's figure out our own.
var series_max = Math.max.apply(null, series);
var digits = max.toString().length;
var scale = Math.pow(10, max_digits - 1);

max = (Math.ceil(series_max / scale)) * scale;
} else {
// Since you sometimes have an empty dataset, then just pick an arbitrary max.
max = 10;
}

$.jqplot(
'foo',
[series],
{
axes: {
yaxis: {
min: 0,
max: max
}
}
// Put your other config stuff here
}
)

这种基本方法适用于任何整数。如果您使用 float 并且它们大于 1,您仍然可以通过将“series_max”转换为 int 来使用此方法。如果您使用小于 1 的 float ,这种方法可能不适合:它总是选择 1 作为 y 轴最大值。

关于jqplot - 强制刻度为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12242088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com