使用vb.net图表控件自动递增

时间:2014-04-01 19:09:34

标签: vb.net graphics charts

我很想知道vb.net中的DataVisualization.charting.chart是否针对我的特定问题进行了任何自动计数/绘图。

我有一个包含数千个用户代理字符串的文件,这些字符串是在一段时间内生成的。 UA字符串是从用户登录生成的。

在我的程序中,我将大约45种不同的环境识别为:操作系统+浏览器类型(即“Windows 7 + IE10”)。每次登录还有一个日期戳,格式为YYYY-MM。

我的任务是使用vb.net图表控件做一个折线图,其中我有环境(Y轴)和日期(X轴)。我希望控件在每次有特定数据集时递增,而不是保持一个可怕数量的数组。我的图表的计数器数据。

vb.net图表控件是否以这种方式自动递增?到目前为止我找不到任何东西。

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解这个问题(你想要自动增加什么?轴最小/最大?日期?还有什么?),但是如果你希望每次添加一个轴时更新轴新观点,图表肯定支持。只需在添加新点后调用Chart.ResetAutoValues(),它就会计算出两个轴的新范围。

编辑:在将数据添加到图表之前排列数据。类似的东西:

Dictionary<string, int> values = new ...;
string[] uaStrings = ReadFileOfUAStrings();
foreach (string uaString in uaStrings)
{
    values[uaString]++;
}

foreach (KVP in values)
{
    chart.Series(kvp.Key).Points.Add(kvp.Value);
}

上述内容并未按日期分类,但您应该明白这一点。如上所述,如果将另一个UA字符串添加到文件中并且重新读取整个内容,那么它也不是非常有效,但是在它运行之后可以进行优化。