You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过For Each循环动态填充Livecharts堆叠行图数据?

解决LiveCharts动态填充ChartValues的问题

我来帮你搞定这个动态填充的问题!你之前用静态数据直接初始化没问题,但动态循环填充时,关键是要先把Series和ChartValues的实例单独拎出来,再逐个添加数据,而不是一次性嵌套创建。下面是具体的分步解决方案:


1. 先初始化空的系列和集合

别把所有New都堆在一行里,先把SeriesCollection和两个StackedRowSeries单独实例化,并且给它们创建空的ChartValues,这样后续才能动态添加数据:

' 初始化系列集合
Dim chartSeries As New SeriesCollection()

' 创建"Faltantes"系列,先留空的ChartValues
Dim faltantesSeries As New StackedRowSeries With {
    .StackMode = StackMode.Percentage,
    .DataLabels = True,
    .LabelPoint = Function(p) p.X.ToString(),
    .Title = "Faltantes",
    .Values = New ChartValues(Of Double)()
}

' 创建"Respondidas"系列,同样留空的ChartValues
Dim respondidasSeries As New StackedRowSeries With {
    .StackMode = StackMode.Percentage,
    .DataLabels = True,
    .LabelPoint = Function(p) p.X.ToString(),
    .Title = "Respondidas",
    .Values = New ChartValues(Of Double)()
}

' 把两个系列添加到集合中
chartSeries.Add(faltantesSeries)
chartSeries.Add(respondidasSeries)

2. 准备动态数据源并循环填充

假设你已经有了要填充的数据源(比如从数据库、列表或者其他地方获取的),用For Each循环把数据逐个添加到对应系列的ChartValues里:

' 示例数据源:这里可以替换成你实际的动态数据(比如从DataTable、API返回等)
Dim faltantesData As List(Of Double) = New List(Of Double) From {67, 16, 41, 0, 7, 92, 3}
Dim respondidasData As List(Of Double) = New List(Of Double) From {23, 1, 1, 4, 2, 102, 0}

' 填充Faltantes系列
For Each val In faltantesData
    faltantesSeries.Values.Add(val)
Next

' 填充Respondidas系列
For Each val In respondidasData
    respondidasSeries.Values.Add(val)
Next

3. 绑定到图表并刷新(如果需要)

最后把准备好的系列集合赋值给图表,要是用的WinForms,可能需要手动刷新图表确保UI更新;WPF的话只要你的ViewModel实现了INotifyPropertyChanged,绑定后会自动更新:

' 赋值给图表
grafico2.Series = chartSeries

' WinForms环境下可能需要手动刷新
grafico2.Refresh()

额外提示:如果数据源是DataTable的情况

要是你的数据来自数据库查询的DataTable,可以这样循环填充:

' 假设DataTable有两列:Faltante 和 Respondida
For Each row As DataRow In yourDataTable.Rows
    ' 注意类型转换,确保是Double类型
    faltantesSeries.Values.Add(CDbl(row("Faltante")))
    respondidasSeries.Values.Add(CDbl(row("Respondida")))
Next

内容的提问来源于stack exchange,提问作者alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:29:25