2

我刚拿到了 Stephen A. Thomas 写的《使用 Javascript 进行数据可视化》一书,我正在完成这些练习。第一章是关于 Flotr2 的。以下是这本书告诉我要做的事情:

var wins = [[[0, 13], [1, 11], [2, 15], [3, 15], [4, 18], [5, 21], [6, 28]]];
var wins2 = [[[0,28], [1,28], [2, 21], [3,20], [4,19]]];
var years = [[0, "2006"], [1, "2007"], [2, "2008"], [3, "2009"], [4, "2010"], [5, "2011"], [6, "2012"]];
var teams = [[0, "MCI"], [1, "MUN"], [2, "ARS"], [3, "TOT"], [4, "NEW"]];
window.addEventListener('load', function() {
    Flotr.draw(document.getElementById('chart2'), wins2, {
        title: "Premier League Wins (2011-2012)",
        colors: ['#89afd2', '#1d1d1d', '#df021d', '#0e204b', '#e67840'],
        bars: {
            show: true,
            barWidth: 0.5,
            shadowSize: 0,
            fillOpacity: 1,
            lineWidth: 0
        },
        yaxis: {
            min: 0,
            tickDecimals: 0
        },
        xaxis: {
            ticks: teams
        },
        grid: {
            horizontalLines: false,
            verticalLines: false
        }
    });
});

现在这和书中的唯一区别是书告诉我做window.onload,而我使用了addEventListener。这本书说这应该制作一个具有多种颜色(列出的颜色)的条形图,但我所有的条形图都是相同的颜色,这是列出的第一种颜色。我已经尝试了所有方法,但似乎没有任何效果。有其他人在使用 Flotr2 时遇到过这个问题吗?我使用的是最新版本,所以这只是 Flotr2 的问题吗?还是我做错了什么?

4

2 回答 2

2

尝试这个。

var wins2 = [[[0,28]],[[1,28]],[[2,21]], [[3,20]],[[4,19]]];
于 2016-01-25T04:58:09.143 回答
0

我认为这可能与您的阵列有关...

var wins2 = [[[0,28], [1,28], [2, 21], [3,20], [4,19]]];

这使得一个包含 1 个数组的数组具有 4 个数组。所以 fllotr 看到你只有 1 个索引,这就是它只使用 1 种颜色的原因。

尝试

var wins2 = [[0,28], [1,28], [2, 21], [3,20], [4,19]];
于 2015-04-15T00:34:57.453 回答