最后一栏没有名字,为什么?

时间:2014-01-13 20:01:38

标签: dygraphs

我在X轴数字和自定义名称中使用。 问题出在最后一栏 - 它没有名字。

为什么最后一个列名只有日期?如何使用每种日期类型显示它?

我的样本,日期:

"X,Y,Z\n" +
                 "1,0,3\n" +
                 "2,2,6\n" +
                 "3,4,8\n" +
                 "4,6,9\n" +
                 "5,8,9\n" +
                 "6,10,8\n" +
                 "7,12,6\n" +
                 "8,14,3\n",

http://jsfiddle.net/JaM3S/1/

“孟加拉国”(8排)在哪里?

1 个答案:

答案 0 :(得分:1)

请在底部阅读我的笔记

标签和数据在那里,DyGraph只是缩放图表,因此它不会出现。将鼠标悬停在“孟加拉国”所在的位置,它将出现在图例中。

作为一种解决方法,您可以使用“xRangePad”选项(向x轴添加填充),结合“axisLabelFontSize”和“axisLabelWidth”来调整标签可见性。 (有关详细信息,请参阅http://dygraphs.com/options.html

但这可能会从视图中删除其他标签。

您还需要添加

default:
    ret = "";
break;

到每个switch语句,否则当图表缩放时,“undefined”将显示为自动收报机标签。我已经为您的标题标签添加了不同的名称,并将其移至“标签”选项中。

g = new Dygraph(document.getElementById("graph"),
     "1,0,3\n" +
     "2,2,6\n" +
     "3,4,8\n" +
     "4,6,9\n" +
     "5,8,9\n" +
     "6,10,8\n" +
     "7,12,6\n" +
     "8,14,3\n",
     {
         legend: 'always',
         xRangePad: 20,
         animatedZooms: true,
         title: 'dygraphs chart template',
         axes: {
                x: {
                    valueFormatter: function(x) {
                        var ret;
                        switch (x){
                            case 1:
                               ret = 'India';                
                               break;
                            case 2:
                               ret = 'US';                
                               break;
                            case 3:
                               ret = 'China';                
                               break;
                            case 4:
                               ret = 'Pakistan';                
                               break;
                            case 5:
                               ret = 'England';                
                               break;
                            case 6:
                               ret = 'Australia';                
                               break;
                            case 7:
                               ret = 'West Indies';                
                               break;
                            case 8:
                               ret = 'Bangladesh';                
                            break;
                            default:
                                ret = "";
                                break;
                        }
                        return ret;
                    },
                    axisLabelFormatter: function(x) {
                        var ret;
                        switch (x){
                            case 1:
                               ret = 'India';                
                               break;
                            case 2:
                               ret = 'US';                
                               break;
                            case 3:
                               ret = 'China';                
                               break;
                            case 4:
                               ret = 'Pakistan';                
                               break;
                            case 5:
                               ret = 'England';                
                               break;
                            case 6:
                               ret = 'Australia';                
                               break;
                            case 7:
                               ret = 'West Indies';                
                               break;
                            case 8:
                               ret = 'Bangladesh';                
                               break;    
                            default:
                                ret = "";
                                break;
                        }
                        return ret;
                    },
                }                
        },
        labels:["Country", "Score 1", "Score 2"],
        axisLabelWidth: 50,
        axisLabelFontSize: 10,
    }
);

但我不认为这是你实际尝试做的解决方案。你的目标是什么?数据会更好地用条形图表示吗?