这一定是微不足道的,但我在网上找不到任何东西。
我有一个简单的数据表dtChart,其中3列(字符串,int32,int32)作为数据源附加到Chart1(到两个系列)并为YValueMembers设置整数。图表显示得很好,到目前为止一直很好,但是一些比例数字低于列。
Chart1.ChartAreas(0).AxisX.LabelStyle.Interval = 1
在所有列上显示标签,但使用零。 当我尝试将XValueMember设置为dtCharts的第一个字符串列时(1个或两个系列):
Chart1.Series(0).XValueMember = "ProcesName"
...然后绘制图表faisl(带有十字的红色矩形) 我也尝试了这个:
Chart1.Series(0).AxisLabel =“#VALX”
......没有进展。
如何在数据绑定图表中为X轴设置标签?
编辑:顺便说一句,我知道我可以通过积分收集并为每个积分分别设置标签,但我会考虑解决方法,而不是解决方案。必须有一种直接的方法来使用绑定列,一种“DisplayMember”。
答案 0 :(得分:2)
只需在表单上删除一个新的图表控件,然后使用此类代码在图表中显示数据:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Me.Chart1.DataSource = GetData()
Me.Chart1.Series.Clear()
Chart1.ChartAreas.Clear()
Chart1.ChartAreas.Add("Area0")
Me.Chart1.Series.Add("Math")
Me.Chart1.Series.Add("Physics")
Chart1.Series(0).XValueMember = "Name"
Chart1.Series(0).YValueMembers = "Math"
Chart1.Series(0).IsValueShownAsLabel = True
Chart1.ChartAreas(0).AxisX.LabelStyle.Angle = -90
Chart1.Series(1).XValueMember = "Name"
Chart1.Series(1).YValueMembers = "Physics"
Chart1.Series(1).IsValueShownAsLabel = True
End Sub
Public Function GetData() As DataTable
Dim dt = New DataTable()
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Math", GetType(Integer))
dt.Columns.Add("Physics", GetType(Integer))
dt.Rows.Add("Alex", 12, 17)
dt.Rows.Add("Richard", 19, 20)
dt.Rows.Add("Alice", 14, 16)
Return dt
End Function
结果将是这张图表: