jqplot - 如何使非常密集的图表看起来很好?

时间:2012-09-24 08:03:31

标签: jqplot

我有一个包含大量数据的简单日期图表。 问题是我绘制的区域有限,当有太多数据时,系列日期的刻度重叠。自动缩放似乎在某种程度上有所帮助,但日期仍将关闭。 即使刻度数自动减少,网格中的线数也保持不变,使其成为纯色而不是网格。

有没有办法让图表看起来更好?

1-网格中的行数与刻度中的日期相同 2-减少刻度数以获得更多空间

我已尝试使用numberTicks限制刻度数,但随后刻度消失,或者只是从第一个刻度开始显示它们并省略其余部分。 尝试使用syncticks和不同的参数,但没有设法解决它。也许我错误地喂了参数。

我已经创建了代码的pastebin来获取此图表,可以在此处找到:http://pastebin.com/zVRN8dJy

有人提示吗?

我看到的唯一选择是从服务器端进行分发,但我有几个组合要处理,并且由jqplot完成分发会简化很多事情。我正在使用最新版本的jqplot,我在Snow Leopard上,问题不依赖于浏览器。

感谢。

Example plot

2 个答案:

答案 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]);
};