C# 谷歌图表显示错误数据

C# 谷歌图表显示错误数据,c#,asp.net,google-visualization,C#,Asp.net,Google Visualization,我在用谷歌图表创建数据图表时遇到了一些问题,我不知道为什么我的图表会这样显示 正如你在图中看到的,y值应该是2,但我得到的是3左右。什么会导致这个问题 这是我当前的代码: private DataTable GetData() { DataTable dt = new DataTable(); string cmd = "SELECT TotalShipped, TotalOnTime, TotalOnTime / TotalShipped * 100 AS LISC" +

我在用谷歌图表创建数据图表时遇到了一些问题,我不知道为什么我的图表会这样显示

正如你在图中看到的,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=新的DataTable();
尝试
{
dt=GetData();
str.Append(@“google.load(*visualization*,*1*,{packages:[*corechart*]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('number','TotalOnTime');
data.addColumn('number','LISC');
数据。添加行(1);”;

对于(int i=0;iy值是正确的。检查y轴上的值,它们被划分为3/4的值。
你的图表在2.5到3.25之间,比2.5更接近3.25,所以一个好的猜测是它在2左右

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


查看配置方法,然后跳转到vAxis.gridlines,查看可以改变哪些格式来实现所需功能。

唯一有帮助的其他格式是“vAxis.gridlines.count”,我对结果并不完全满意,但我想它会起作用,可能会尝试另一种替代方法,而不是使用谷歌图表。我看到您已经输入了
hAxis.viewWindow.min
和max。尝试使用
vAxis.viewWindow.min=0
,然后从那里开始工作。这可能会帮助您控制“更漂亮”的生成。
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
    {

    }

}