柱形图 - 设置X轴的字符串标签

时间:2016-09-09 19:19:10

标签: vb.net winforms charts mschart

这一定是微不足道的,但我在网上找不到任何东西。

我有一个简单的数据表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”。

1 个答案:

答案 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

结果将是这张图表:

enter image description here