Google Charts Geochart colorAxis 不显示渐变
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);
}`
当我在 fiddle 但不是我的应用程序中尝试时,这工作得很好。我知道这是一个模糊的问题,可能特定于我的应用程序。但是,如果有人从他们的脑海中得到任何东西,或者以前有过这种经历,那么如果你能分享一些东西,那将会有很大的帮助。
提前致谢。
问题是头部部分的 标签。最简单的解决方案是删除它。更复杂的一个 - 使用回调函数来修复图表何时准备好:
<!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 问题正在讨论 here。务必在调用 chart.draw
之前放置事件侦听器
我有类似的问题,一切正常,但缺少颜色渐变。问题是 google 图表包加载不正确。
是这样解决的:
在我的 .js 文件的开头有这个加载器:
google.load("visualization", "1", {packages:["corechart", "geochart"]});
将其更改为此修复了 colorAxis:
google.charts.load('current', {'packages':['geochart']});
我有一个 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);
}`
当我在 fiddle 但不是我的应用程序中尝试时,这工作得很好。我知道这是一个模糊的问题,可能特定于我的应用程序。但是,如果有人从他们的脑海中得到任何东西,或者以前有过这种经历,那么如果你能分享一些东西,那将会有很大的帮助。 提前致谢。
问题是头部部分的
<!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 问题正在讨论 here。务必在调用 chart.draw
我有类似的问题,一切正常,但缺少颜色渐变。问题是 google 图表包加载不正确。 是这样解决的:
在我的 .js 文件的开头有这个加载器:
google.load("visualization", "1", {packages:["corechart", "geochart"]});
将其更改为此修复了 colorAxis:
google.charts.load('current', {'packages':['geochart']});