Google Charts, скрыть отображение столбца, но сохранить основные данные для использования - PullRequest
9 голосов
/ 19 мая 2011

В следующем JSON:

        var data = new google.visualization.DataTable(
            {
            cols: [{id: 'Option1', label: 'Manufacturer', type: 'string'},
                   {id: 'Option2', label: 'Region', type: 'string'},
                   {id: 'Option3', label: 'Option3', type: 'number'},
                   {id: 'Option4', label: 'Option4', type: 'number'},
                   {id: 'Option5', label: 'Option5', type: 'number'},
                   {id: 'Option6', label: 'Option6', type: 'number'},
                   {id: 'Option7', label: 'Option7', type: 'number'},
                   {id: 'Option8', label: 'Option8', type: 'number'}],


            rows: [{c:[{v: 'Ford'}, {v: 'South East'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]},
                    {c:[{v: 'Ford'}, {v: 'South East'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]},
                    {c:[{v: 'Ford'}, {v: 'South East'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]},
                    {c:[{v: 'BMW'}, {v: 'South East'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]},
                    {c:[{v: 'BMW'}, {v: 'North'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]},
                    {c:[{v: 'BMW'}, {v: 'North'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]},
                    {c:[{v: 'Citroen'}, {v: 'North'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]},
                    {c:[{v: 'Citroen'}, {v: 'South East'}, {v: 2}, {v: 3}, {v: 4}, {v: 5}, {v: 6}, {v: 7}]}
                    ]
            },
            0.6
        )

мой график 'будет' отображать производителей в виде строк с 7 столбцами данных против каждого.

Я хочу иметь возможность фильтровать данныеиспользование зависимого элемента управления для просмотра только строк в каждой области (столбец 1).

В настоящее время этот график не рисуется, поскольку столбец области не является целым числом и поэтому не может быть отображен.

Поэтому я хочу «скрыть» столбец региона, чтобы он не отображался в виде столбца, но был доступен для использования с зависимым элементом управления.

Может ли кто-нибудь помочь с этим, поскольку я не могу найтилюбой способ сделать это?Я не думаю, что метод hideColumns будет работать, потому что он удаляет столбец из объекта данных, и поэтому зависимый элемент управления не может его увидеть.

Ответы [ 2 ]

19 голосов
/ 20 мая 2011

Решением этой проблемы было использование 'view'.

        // Create a bar chart, passing some options
        barChart = new google.visualization.ChartWrapper({
            'chartType': 'BarChart',
            'containerId': 'chart_div',
            'options': {
            'width': '100%',
            'height': '120%',
            'vAxis': {title: "Branch"},
            'hAxis': {title: "Cups"},
            'fontSize': 14,
            'showRowNumber' : true,
            },
            'view': {'columns': [0,2,3,4,5,6,7]}
        });

Надеюсь, это поможет другим людям с такой же проблемой.

4 голосов
/ 18 января 2013

Вы также можете напрямую использовать dataView, выполнив следующие действия с указанным выше кодом

    function hideColumns (chart, data, options, colToHide) {
        dataview = new google.visualization.DataView(data);
        dataview.hideColumns(colToHide);
        // you can also use dataview.setColumns([1,2]) to show only selected columns and hide the rest
        chart.draw(dataview, options)
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...