Vega,可能在x轴上有重复的标签

时间:2015-04-13 10:22:31

标签: vega

我正在尝试使用Vega替换使用Google Charts API生成的一些图表。

这是一个简单的条形图,有5列,我之前有x轴标签显示实际数字。

enter image description here

当我尝试使用Vega执行此操作时,它会将重复的数字合并为一列。

enter image description here

这是用于vega版本的json(它或多或少是快速启动示例的剪切和粘贴,数据值已更改)。

{
    "scales": [
        {
            "range": "width", 
            "type": "ordinal", 
            "name": "x", 
            "domain": {
                "field": "data.x", 
                "data": "table"
            }
        }, 
        {
            "range": "height", 
            "name": "y", 
            "domain": {
                "field": "data.y", 
                "data": "table"
            }, 
            "nice": true
        }
    ], 
    "axes": [
        {
            "scale": "x", 
            "type": "x"
        }, 
        {
            "scale": "y", 
            "type": "y", 
            "ticks": 3
        }
    ], 
    "height": 80, 
    "padding": {
        "top": 10, 
        "bottom": 20, 
        "right": 10, 
        "left": 30
    }, 
    "width": 200, 
    "marks": [
        {
            "from": {
                "data": "table"
            }, 
            "type": "rect", 
            "properties": {
                "hover": {
                    "fill": {
                        "value": "red"
                    }
                }, 
                "update": {
                    "fill": {
                        "value": "steelblue"
                    }
                }, 
                "enter": {
                    "y": {
                        "field": "data.y", 
                        "scale": "y"
                    }, 
                    "x": {
                        "field": "data.x", 
                        "scale": "x"
                    }, 
                    "y2": {
                        "scale": "y", 
                        "value": 0
                    }, 
                    "width": {
                        "band": true, 
                        "scale": "x", 
                        "offset": -1
                    }
                }
            }
        }
    ], 
    "data": [
        {
            "values": [ 
                { "y": 7,"x": 7 }, 
                { "y": 7,"x": 7 }, 
                { "y": 7,"x": 7 }, 
                { "y": 6,"x": 6 }, 
                { "y": 0,"x": 0 }, 
                { "y": 0,"x": 0 }
            ], 
            "name": "table"
        }
    ]
}

1 个答案:

答案 0 :(得分:1)

您应确保values数组中的每个对象都具有x轴的唯一值。这是有道理的:否则,用户将如何知道每个酒吧所指的内容?如果您希望用相应的值标记每个条形,则应使用文本标记。有关指导,请参阅grouped bar示例。