【问题标题】:chart x-axis data is not visible when more than 10 point图表 x 轴数据超过 10 点时不可见
【发布时间】:2014-04-04 10:14:15
【问题描述】:

图表x轴数据超过10点时不可见:

chart.ChartAreas.Add("chart1");
                chart.Series.Add("s1");
                for (int i = 0; i < dtRpt.Rows.count; i++)
                {
                    string i1=dtRpt.Rows[i]["vchCompetency"].ToString();
                    float i2 = float.Parse(dtRpt.Rows[i]["Average"].ToString(), CultureInfo.InvariantCulture.NumberFormat); 
                    chart.Series[0].Points.AddXY(i1, i2);
                }

这是我的图表代码;如何解决这个问题;还有其他方法。我试过chartarea.AxisX.IntervalType 它不适用于字符串值。任何帮助我解决这个问题。

【问题讨论】:

    标签: c# charts asp.net-charts


    【解决方案1】:

    OT:为什么不使用DataBindTableDataBindCrossTable?它更清洁、更快。

    最好设置轴的DataType

    Chart1.Series[0].XValueType = ChartValueType.[type]
    

    而不是将所有内容都作为字符串传递。这样图表控件就不必猜测了,通常这会减少问题。

    (实际上,您从 DataTable 中将值作为字符串检索并转换为浮点数 - 邪恶!)

    您可能想检查Chart1.AxisX(or Y).Interval 属性而不是Chart1.AxisX(or Y).IntervalType 以显示更具体的图表。通常根据要显示的数据量默认设置间隔。

    【讨论】:

    • 你可以看到我以前的帖子;我使用了 Chart1.AxisX(or Y).Interval 并检查了 DataBindTable。但是我遇到了同样的问题
    • 1) 有太多信息散布在 Stack Overflow 周围的帖子 2) 尝试使用 Math.Round(number_to_round,2) 对浮点数进行舍入,并像在 x 数据点中那样传递它 3) 尝试设置 Chart1.Height = 600; Chart1.Width = 800; 还有它不是很清楚“超过 10 点时不可见”是什么意思
    • 实际上我发现问题是如果超过 10 个点我的图表不正确。这不是我通过的原因点值。
    猜你喜欢
    • 2021-06-16
    • 2020-07-03
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 2020-11-17
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多