我在我的网页上显示的 Google 图表遇到了一个非常奇怪的问题。当我在 Mac 上本地运行代码时,一切正常,图形显示没有错误。
但是,当我在测试的 AWS 服务器上运行相同的应用程序时,我收到以下错误消息,但没有图表:
Data column(s) for axis #0 cannot be of type string
Run Code Online (Sandbox Code Playgroud)
该应用程序是用ruby-on-rails编写的,相关代码粘贴如下:
(在页面的控制器中)
relevantEntries = getDataFromDB
@graphData = Array.new
@graphData << ["Date", "Value"]
relevantEntries.each do |entry|
@graphData << [entry.created.strftime(format="%-m/%-d"), entry.value]
end
Run Code Online (Sandbox Code Playgroud)
(在页面视图中)
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(ChartMaker);
function ChartMaker(chartDiv) {
// Create the data table.
var data = google.visualization.arrayToDataTable(<%= @graphData.to_json.html_safe %>);
// Set chart options
var options = {/* some options */};
// Instantiate and draw chart, passing in the options.
var chart = …Run Code Online (Sandbox Code Playgroud) 我们正在考虑在我们的项目中使用 Google 图表,但我们有高度机密的数据。您可以在不将数据发送给 Google 的情况下使用 Google Charts 吗?
另外,我们也可以将它作为服务器图表工具运行吗?
我正在使用谷歌图表并且对 API 非常陌生,现在最有可能满足我的要求的是Combo Chart,这个图表对所有东西都很好,但只有一件事很奇怪,
当我尝试使用烛台绘制线条时,无论哪个series在seriesType烛台中,另一个在烛台中,烛台始终位于线条之上,是否有解决此问题的方法?
编辑
我想要做的是我有一些 OHLC 数据,我想绘制一个烛台图或一个 OHLC 图表,任何都可以工作,然后我想在它上面绘制一条趋势线。
我目前没有图像,但它可能看起来像这样

我只是想说,我并没有被谷歌 api 困住,如果你有任何其他能够做到这一点的 api,请推荐给我,但当然是免费的 api。
如果 api 让我在上面画我想要的东西会更好。
我选择 google api 因为它是完整和受支持的。
我正在尝试在 android 应用程序中加载 Google 图表。但是,它向我抛出未定义 google 的错误。下面是我的 HTML 文件和 JavaScript 文件。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Patient Vitals</title>
<link href="../../common/scripts/lib/css/jquery.mobile.theme-1.1.0.css" rel="stylesheet" type="text/css" />
<link href="../../common/scripts/lib/css/jquery.mobile-1.0.1.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="../../common/scripts/lib/css/jquery.mobile.datebox.css" />
<link href="../scripts/css.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="../../common/scripts/jsapi.js" type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
</script>
<script src="../scripts/patient_vitals.js"></script>
</head>
<body>
<div class="PT_Care_vitals_swa_ofcurv_left" onclick="getPatientVitalInfo();"</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
患者生命体征.js:
getPatientVitalInfo =function()
{
logInformation("Get Patient Vital Information ");
alert("Get Patient Vital info");
//code to retieve data from database
drawChart(temp); …Run Code Online (Sandbox Code Playgroud) 在吸取足够长的时间后添加到 Stack Overflow。
我拥有的:
现在我想使用带有文件名的数据表(不幸的是全局)按下 downloadCSV javascript 函数。我已经从线程的一个答案中获取了下载代码...在使用数据 uri 时,有什么方法可以指定建议的文件名
我希望人们觉得这很有帮助。
掠夺
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
// Initial Part extracted from [Visualization: Area Chart][2]
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
var data;
function drawChart() {
data = google.visualization.arrayToDataTable([
['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]
]);
var options = {
title: 'Company Performance',
hAxis: {title: 'Year', titleTextStyle: {color: 'red'}}
};
var …Run Code Online (Sandbox Code Playgroud) 我在选项中指定了 HTML 工具栏,但它仍然在工具提示中呈现 HTML 文本,而不是 HTML 的结果。我该如何解决这个问题,以便它呈现 HTML 结果?
我创建了一个数据视图并像这样设置列:
projectView.setColumns([0,1,3,{
type:'string',
role:'tooltip',
calc:function(dt,row){
var date = dt.getFormattedValue(row,0);
var totalErrors = dt.getFormattedValue(row,3);
var percent = Math.round((dt.getValue(row,3)/dt.getValue(row,1))*100);
return '<div><b>'+ date +'</b><br><b>Error Percent: </b>' + percent + '<br><b>Total Errors: </b>' + totalErrors + '</div>';
}
}]);
Run Code Online (Sandbox Code Playgroud)
选项是这样的:
var options = {
width:850,
height:375,
chartArea: {width: '70%', height: '70%',left: 40,top:25},
hAxis:{format:'MM/dd/yy'},
vAxis:{logScale:false},
series:{0:{type:'line'},1:{type:'area'}},
tooltip: { isHtml: true }};
Run Code Online (Sandbox Code Playgroud)
然后我绘制图表:
var projectChart = new google.visualization.ComboChart(document.getElementById('project_chart_div'));
projectChart.draw(projectView, options);
Run Code Online (Sandbox Code Playgroud) 首先,我想让人们知道,虽然有类似的问题标记为:
Google Charts API:始终在图表中显示数据点值
...在网站上,我似乎无法使用它的解决方案,因为我的图表是使用arrayToDataTable提供的.
这是我的代码:
function drawChart1998() {
var data = google.visualization.arrayToDataTable([
['Year', 'Index Trend'],
['1/3', 1236777],
['1/7', 834427],
['1/10', 2164890],
['1/14', 1893574],
['1/17', 2851881],
['1/21', 359504],
['1/24', 2264047],
['1/28', 3857933],
['1/31', 2197402],
['2/4', 2469935],
['2/7', 1651752],
['2/11', 4710582],
['2/14', 1565803],
['2/18', 345499],
['2/21', 2817319],
['2/25', 733242],
['2/28', 1485788],
['3/4', 1091181],
['3/7', 4477498],
['3/11', 490931],
['3/14', 3905556],
['3/18', 475417],
['3/21', 1512729],
['3/25', 1782796],
['3/28', 4778434]
]);
var options = {
curveType: "function",
title: '1998 Results',
vAxis: {viewWindow: …Run Code Online (Sandbox Code Playgroud) 我刚刚将Google Charts API中的图表添加到我正在处理的webapp中.仅针对某些上下文,我的webapp是在带有Bootstrap的AngularJS上构建的.使用angular-google-chart模块插入图表.
如何使图表显示响应?我想做的是保持图表的全宽,并根据适当高度自动调整大小.我似乎无法做到这一点.
我试过制作,width: 100%; height: 500px;但它在较小的宽度上显示空白.
任何建议都非常感谢.
我正在使用谷歌API来创建图表.我能够创建OHLC(烛台)图表.但我想在其中添加移动平均线的叠加层.任何人都可以指导我如何做到这一点?
提前致谢.
google-api google-visualization moving-average candlestick-chart
我是angularjs和谷歌排行榜的新手我现在想做一个饼图我想要跟随:
1- display total components inside the centre of the pie charts.
2- display pieSliceText outer side of the pie slice
Run Code Online (Sandbox Code Playgroud)
怎样才能完成我的示例代码:
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['corechart']}]}"> </script>
<div id="piechart" style="width: 900px; height: 500px;"></div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
height: 360,
width: 360,
pieHole: 0.5,
showLables: 'true',
pieSliceText: 'value',
pieSliceTextStyle: {
color: 'white',
fontSize:18
},
legend: { …Run Code Online (Sandbox Code Playgroud)