这肯定是微不足道的,但我在网上找不到任何东西。
我有一个简单的数据表 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"
...没有任何进展。
如何在数据绑定(bind)图表中设置 X 轴标签?
编辑:顺便说一句,我知道我可以遍历点集合并为每个点单独设置标签,但我认为这是一种解决方法,而不是解决方案。必须有一种直接的方法来使用绑定(bind)列,一种“DisplayMember”。
最佳答案
只需在窗体上放置一个新的图表控件并使用此类代码即可在图表中显示数据:
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
结果将是这个图表:
关于vb.net - 柱形图 - 设置 X 轴的字符串标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39418382/