1
我在創建Google圖表的數據圖表時遇到了一些麻煩,我不知道爲什麼我的圖表以這種方式顯示?谷歌圖表顯示錯誤數據
正如你可能會在圖片中看到的Y值應該是2,但我得到一個3左右。什麼會導致這個問題?
這是我當前的代碼:
private DataTable GetData()
{
DataTable dt = new DataTable();
string cmd = "SELECT TotalShipped, TotalOnTime, TotalOnTime/TotalShipped * 100 AS LISC" +
" FROM (SELECT COUNT(*) AS TotalShipped, SUM(CASE LISC WHEN 100 THEN 1.0 ELSE 0.0 END) AS TotalOnTime" +
" FROM dbo.tbl_LISC) AS t";
SqlDataAdapter adp = new SqlDataAdapter(cmd, conn);
adp.Fill(dt);
return dt;
}
和:
private void BindChart()
{
DataTable dt = new DataTable();
try
{
dt = GetData();
str.Append(@"<script type=*text/javascript*> google.load(*visualization*, *1*, {packages:[*corechart*]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'TotalOnTime');
data.addColumn('number', 'LISC');
data.addRows(1);");
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
str.Append("data.setValue(" + i + "," + 1 + "," + "'" + dt.Rows[i]["LISC"].ToString() + "');");
str.Append("data.setValue(" + i + "," + 0 + "," + dt.Rows[i]["TotalOnTime"].ToString() + ") ;");
}
str.Append(" var chart = new google.visualization.BarChart(document.getElementById('chart_div'));");
str.Append(" chart.draw(data, {width: 1850, height: 500,bars: 'horizontal', title: 'Materiales',");
str.Append("hAxis: {title: 'LISC', titleTextStyle: {color: 'green'},viewWindow:{max:100,min:0}}");
str.Append("}); }");
str.Append("</script>");
lt.Text = str.ToString().Replace('*', '"');
}
catch
{
}
}
這是查詢結果:
任何幫助或意見是有幫助的。 謝謝。
有點幫助的唯一附加格式是「vAxis.gridlines.count」,我對結果並不完全滿意,但我想它的工作原理可能會嘗試使用另一種替代方法,而不是使用Google圖表。 – MoralesJosue
我看到你已經輸入了'hAxis.viewWindow.min'和max。試着用'vAxis.viewWindow.min = 0'做同樣的事情,然後從那裏開始工作。這可能會幫助你控制「漂亮」一代。 –