图表上系列的差异对齐

时间:2016-09-28 21:31:29

标签: vb.net

我有以下代码用于在窗口表单上创建图表。它按预期工作,但有一个例外。其中一个系列未在x轴上对齐。我究竟做错了什么?。我试图插入一个对齐指令,但这只会导致错误。我无法弄清楚这一点。我已经粘贴了我的代码以及图表所查看的相关数据网格视图以及我拥有的图表。

Dim dtoverview As DataTable = New DataTable

    dtoverview.Columns.Add("col1", GetType(String))
    dtoverview.Columns.Add("col2", GetType(String))
    dtoverview.Columns.Add("col3", GetType(String))

    Dim z As Integer = DataGridView1.RowCount
    Dim row As Integer = 0
    For row = 0 To z - 1

        dtoverview.Rows.Add(DataGridView1.Item(1, row).Value, DataGridView1.Item(0, row).Value, DataGridView1.Item(2, row).Value)
    Next

    Dim dv As DataView = New DataView(dtoverview)
    'dv.Sort = "col2 asc"

    Chart1.Series.RemoveAt(1)
    Chart1.Series.RemoveAt(0)
    Chart1.DataManipulator.FilterSetEmptyPoints = True
    Chart1.DataManipulator.FilterMatchedPoints = True

    Chart1.DataBindCrossTable(dv, "col3", "col2", "col1", "Label=col1")

    For Each cs As Series In Chart1.Series
        Chart1.DataManipulator.Filter(DataVisualization.Charting.CompareMethod.EqualTo, 0, cs)
        Chart1.Series(0).ChartType = SeriesChartType.StackedColumn
        Chart1.Series(1).ChartType = SeriesChartType.StackedColumn
    Next

    dv = Nothing
    dtoverview = Nothing
    releaseObject(dv)
    releaseObject(dtoverview)

End Sub

此代码的目标是将149(橙色)的值放在440列的顶部,将值56设置为120列的值。附加的文档显示了当前图表以及代码从中获取数据的表。

current chart and table

0 个答案:

没有答案