[英]Google Charts Geochart colorAxis doesn't show gradient
我有一個angularjs應用,我使用ng-google-chart指令在上面繪制了Google圖表。 這里的問題是這樣的:
我正在使用以下代碼`function drawRegionsMap(){
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity'],
['Germany', 200],
['United States', 300],
['Brazil', 400],
['Canada', 500],
['France', 600],
['RU', 700]
]);
var options = {};
var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));
chart.draw(data, options);
}`
當我嘗試撥弄小提琴而不是我的應用程序時,這效果很好。 我知道這是一個模糊的問題,可能是我的應用特有的。 但是,即使有人從腦海中得到任何東西,或者曾經有過經歷,如果您可以分享一些東西,那將對您有很大的幫助。 提前致謝。
問題是頭部的<base>標簽。 最簡單的解決方案是將其刪除。 更復雜的一種-使用回調函數來修復圖表准備就緒的時間:
<!DOCTYPE html>
<html>
<head>
<base href="/">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://www.google.com/jsapi"></script>
</head>
<body>
<div id="chart" style="height:500px;width:900px;"></div>
<script type="text/javascript">
google.load("visualization", "1", {
callback: function () {
function fixGoogleCharts(element) {
return function () {
$(element).find('svg').each(function () {
$(this).find("g").each(function () {
if ($(this).attr('clip-path')) {
if ($(this).attr('clip-path').indexOf('url(#') == -1)
return;
$(this).attr('clip-path', 'url(' + document.location + $(this).attr('clip-path').substring(4))
}
});
$(this).find("rect").each(function () {
if ($(this).attr('fill')) {
if ($(this).attr('fill').indexOf('url(#') == -1)
return;
$(this).attr('fill', 'url(' + document.location + $(this).attr('fill').substring(4))
}
});
});
};
}
var chartElement = document.getElementById('chart');
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity'],
['Germany', 200],
['United States', 300],
['Brazil', 400],
['Canada', 500],
['France', 600],
['RU', 700]
]);
var options = {};
var chart = new google.visualization.GeoChart(chartElement);
// uncomment next string to fix geochart legend gradient
//google.visualization.events.addListener(chart, 'ready', fixGoogleCharts(chartElement));
chart.draw(data, options);
},
packages: ["geochart"]
});
</script>
</body>
</html>
這個API問題在這里討論。 確保在調用chart.draw
之前放置事件監聽chart.draw
我有類似的問題,一切正常,但是缺少顏色漸變。 問題是Google圖表包未正確加載。 解決方法如下:
在我的.js文件的開頭,有一個加載器:
google.load("visualization", "1", {packages:["corechart", "geochart"]});
將其更改為此可修復colorAxis:
google.charts.load('current', {'packages':['geochart']});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.