[英]How to add link to a part google pie chart
我的問題可能有點混亂所以我會解釋。
我使用Google Charts制作了一個簡單的餅圖。 它很棒。 我需要知道的是能夠鏈接餅圖的所有部分/部分以顯示jquery模式/對話框彈出窗口。
我搜索了很長時間但仍然找不到任何接近的東西。
感謝大家閱讀,希望有人可以幫助我:)
這是我的代碼顯示我的圖表
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Clan');
data.addColumn('number', 'Vampire');
data.addRows([
<? foreach($this->toDisplay as $oClan)
{
echo "['".$oClan->getName()."', ".count($oClan->getMembers()).']';
echo ", ";
} ?>
]);
var options = {'title':'Effectif des clans',
'width':600,
'height':600};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
<body>
<div id="chart_div"></div>
</body>
這里的代碼與監聽器做我想要的:)
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Clan');
data.addColumn('number', 'Vampire');
data.addRows([
<? foreach($this->toDisplay as $oClan)
{
echo "['".$oClan->getName()."', ".count($oClan->getMembers()).']';
echo ", ";
} ?>
]);
var options = {'title':'Effectif des clans',
'width':600,
'height':600};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
function selectHandler() {
var selectedItem = chart.getSelection()[0];
if (selectedItem) {
var topping = data.getValue(selectedItem.row, 0);
alert('The user selected ' + topping);
}
}
google.visualization.events.addListener(chart, 'select', selectHandler);
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div"></div>
</body>
</html>
這是一個棘手的問題,這不是一個完整的答案,而是一個如何解決這個問題的提示。
在這種情況下,有3種情況:
上帝,如果你存在,請原諒我寫這篇文章。 如果您無法對其進行編碼或掛鈎,請將其破解。 您可以使用insepctor在渲染后研究生成的SVG的結構,並構建一個漂亮的jQuery選擇器並修補svg。
$mySvgElement.find("g") .get(indexComputedFromRetroengineering) .whatEverMakesYourPieSliceALink() ;
第三種方法有很多缺點,包括以下(但不僅僅是):
但在某些情況下,它可能是唯一的方法。 這取決於你想要多少,如果你知道缺點和隱藏成本,你准備支付這個價格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.