1

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

有没有办法让下面的图表看起来不错?

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

我尝试使用 numberTicks 限制滴答声的数量,但随后滴答声消失了,或者只是从第一个滴答声开始显示它们并省略其余部分。尝试使用 syncticks 和不同的参数,但没有设法修复它。也许我错误地输入了参数。

我已经创建了一个代码的 pastebin 来获取这个图表,它可以在这里找到:http: //pastebin.com/zVRN8dJy

任何提示任何人?

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

谢谢。

示例图

4

2 回答 2

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, '']...]

在创建图表之前构造标签。

我还建议在您的图表中将标签文本倾斜一个角度,而不是垂直向下。这比垂直阅读更容易,至少比伸长脖子好。

于 2012-09-27T06:37:41.873 回答
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]);
};
于 2012-10-03T07:47:56.110 回答