google 图表显示错误数据

google chart shows wrong data

我在用 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
    {

    }

}

这是查询结果:

对此的任何帮助或评论都是有帮助的。 谢谢。

y 值正确。检查 Y 轴上的值,它们被分成 3/4 的值。
您的图形介于 2.5 和 3.25 之间,比 2.5 更接近 3.25,因此可以猜测它在 2 左右。

这是由 google 函数自动决定附加网格线的数量和值引起的。

检查配置方法 here,然后跳转到 vAxis.gridlines 看看您可以改变什么来实现您正在寻找的东西。