我在使用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
{
}
}
这是查询结果:
对此有任何帮助或评论很有帮助。 谢谢。
答案 0 :(得分:1)
y值正确。检查Y轴上的值,它们的值除以3/4。
你的图表在2.5到3.25之间,比2.5更接近3.25,所以一个很好的猜测是它大概是2。
这是由谷歌功能引起的,可自动决定连接网格线的数量和值。
查看配置方法here,然后跳转到vAxis.gridlines,看看你可以改变什么来实现你想要的东西。