С flot, как я могу создать связанную круговую диаграмму, которая берет Вас к другим веб-страницам?

проблема состоит в том, что оператор Distinct не допускает, что поддержит первоначальный порядок значений.

, Таким образом, Ваш запрос должен будет работать как это

var names = (from DataRow dr in dataTable.Rows
             select (string)dr["Name"]).Distinct().OrderBy( name => name );
5
задан Ross Rogers 27 October 2009 в 21:13
поделиться

1 ответ

Я попробовал, но не смог. Я начал с этого примера , затем добавил:

grid: { clickable: true },

прямо над строкой "pie: {". Затем я добавил в конце функцию plotclick:

$("#placeholder").bind("plotclick", function (event, pos, item) {
    alert('click!');
    for(var i in item){
        alert('my '+i+' = '+ item[i]);
    }
});

Вы увидите "щелчок!" сообщение, но «элемент» не имеет свойств.

Я думал, что вы просто добавите URL-адреса к объектам данных, а затем перенаправите браузер на соответствующий URL-адрес из функции plotclick. Если вы в этом разобрались, мне было бы интересно узнать!

Обновление: Вот кое-что, что может сработать - оно просто превращает ярлыки в ссылки. Поместите URL-адреса в свои данные следующим образом:

$.plot($("#placeholder"), [
    { label: "Serie1",  data: 10, url: "http://stackoverflow.com"},
    { label: "Serie2",  data: 30, url: "http://serverfault.com"},
    { label: "Serie3",  data: 90, url: "http://superuser.com"},
    { label: "Serie4",  data: 70, url: "http://www.google.com"},
    { label: "Serie5",  data: 80, url: "http://www.oprah.com"},
    { label: "Serie6",  data: 110, url: "http://www.realultimatepower.net/"}
],

Затем установите для labelFormatter что-то вроде:

return '<a href="'+serie.url+'">'+serie.label+'</a><br/>'+Math.round(serie.percent)+'%';

Однако щелчок в самих секторах по-прежнему ничего особенного не делает.

4
ответ дан 14 December 2019 в 19:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: