C# 谷歌图表显示错误数据
我在用谷歌图表创建数据图表时遇到了一些问题,我不知道为什么我的图表会这样显示 正如你在图中看到的,y值应该是2,但我得到的是3左右。什么会导致这个问题 这是我当前的代码: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" +
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
{
}
}