我有以下代码,原始代码是:here
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dtTest As DataTable = New DataTable
dtTest.Columns.Add("col1", GetType(Integer))
dtTest.Columns.Add("col2", GetType(Integer))
dtTest.Columns.Add("col3", GetType(String))
dtTest.Rows.Add(0, 1, "S")
dtTest.Rows.Add(0, 1, "H")
dtTest.Rows.Add(80, 1, "C")
dtTest.Rows.Add(43, 2, "S")
dtTest.Rows.Add(11, 2, "H")
dtTest.Rows.Add(55, 2, "C")
dtTest.Rows.Add(30, 3, "S")
dtTest.Rows.Add(85, 3, "H")
dtTest.Rows.Add(53, 3, "C")
dtTest.Rows.Add(55, 4, "S")
dtTest.Rows.Add(55, 4, "H")
dtTest.Rows.Add(11, 4, "C")
Dim dv As DataView = New DataView(dtTest)
dv.Sort = "col2 asc"
Chart1.Series.RemoveAt(0) 'this is just to remove the default Series in a
'VB.NET chart; you may not need this
Chart1.DataBindCrossTable(dv, "col3", "col2", "col1", "Label=col1")
For Each cs As Series In Chart1.Series
cs.ChartType = SeriesChartType.StackedColumn
Next
End Sub
End Class
代码在下面生成图表。我想知道是否有办法在列为零时不显示值,如最左侧列所示或列顶部的总值也很好。我找到了如何在 excel 中做到这一点,但没有设法实现这个程序。
非常感谢您的帮助