我有一个包含大量数据的简单日期图表。 问题是我绘制的区域有限,当有太多数据时,系列日期的刻度重叠。自动缩放似乎在某种程度上有所帮助,但日期仍将关闭。 即使刻度数自动减少,网格中的线数也保持不变,使其成为纯色而不是网格。
有没有办法让图表看起来更好?
1-网格中的行数与刻度中的日期相同 2-减少刻度数以获得更多空间
我已尝试使用numberTicks限制刻度数,但随后刻度消失,或者只是从第一个刻度开始显示它们并省略其余部分。 尝试使用syncticks和不同的参数,但没有设法解决它。也许我错误地喂了参数。
我已经创建了代码的pastebin来获取此图表,可以在此处找到:http://pastebin.com/zVRN8dJy
有人提示吗?
我看到的唯一选择是从服务器端进行分发,但我有几个组合要处理,并且由jqplot完成分发会简化很多事情。我正在使用最新版本的jqplot,我在Snow Leopard上,问题不依赖于浏览器。
感谢。
答案 0 :(得分:1)
首先,您能否限制数据范围?那里有大约50个数据点。限制为25将使图形更加整洁。
如果这不是一个选项,您需要自己控制标签。
有一个选项
ticks: [], // a 1D [val1, val2, ...], or 2D [[val, label], [val, label], ...]
// array of ticks to use. Computed automatically.
使用2D刻度选项设置每个值并自己标记,执行类似
的操作ticks: [[1, 'label 1'], [2, ''], [3, ''], [4, 'label 4'], [5, '']...]
在创建图表之前构建标签。
我还建议您在图表中以一定角度倾斜标签文字,而不是直接向下倾斜。这比垂直阅读更容易阅读,至少比伸长脖子更好。
答案 1 :(得分:0)
您可能使用了numberTicks错误。使用它的方法是将它作为xaxis的参数,如
xaxis: {
numberTicks: 20,
跟进其他参数。如果那不起作用,我建议您删除jQplot的其他属性,以找出哪一个正在干扰。
如果由于某种原因无法使numberTicks工作,那么你可以做的另一件事(解决方法)。这限制了数组中的源数据。
var series1 = [//your data//]
var smallerArr = [];
for (var i = 0; i < series1.length; i = i+10) {
smallerArr.push(series1[i]);
};