我需要显示几天内多条生产线的利用率百分比。所以我的 Y 轴将是 % 值。我每天都需要每条生产线的酒吧。所以我的 X 轴将是一组列,每个列标记为生产线,然后分组并标记为日期。我将如何使用 MSchart 执行此操作。
以下是我需要的示例。它仅显示 2 条生产线(我需要显示 2 条以上的生产线),并且 X 轴标签中不包含生产线名称。
我快到了。这是我正在创建的图表的图像:
这是创建它的代码:
Private Sub ChartSetup()
Try
dvCapacityUtilization.RowFilter = ""
dvCapacityUtilization.Sort = "Period ASC, CutUpSet ASC"
Me.cuChart.BeginInit()
With Me.cuChart
.ChartAreas(0).AxisX.Interval = 30
.ChartAreas(0).AxisX.LabelStyle.Format = "MM/yy"
.ChartAreas(0).AxisX.LabelStyle.Angle = -90
.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.Gray
.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.White
.ChartAreas(0).AxisX.MinorGrid.LineColor = Color.White
.DataBindCrossTable(dvCapacityUtilization, _
"CutUpSet", "Period", "CapacityUtilization", "Label = CapacityUtilization")
End With
'
For Each series In Me.cuChart.Series
series.IsValueShownAsLabel = False
series.LabelFormat = "0.0%"
series.SetCustomProperty("PointWidth", "0.5")
series.SetCustomProperty("DrawingStyle", "Cylinder")
series.XValueType = DataVisualization.Charting.ChartValueType.Date
Next
Me.cuChart.EndInit()
Catch ex As Exception
ErrHandler(Me.Name & " - Chart Setup", ex)
End Try
End Sub
- 如何关闭值标签?在我的代码中,我使用了 IsValueShownAsLabel = False 但它们仍然显示。我最终将允许用户打开或关闭这些值。
- 如何将值格式化为 XX.X%。在我的代码中,我使用了 LabelFormat = 0.0% 但这不起作用。
- 如何让 X 轴标签成为与数据值关联的日期。在我的代码中,我使用 AxisX.Interval = 30 来获取图表上的标签。
跟进:如上面#1所述,我使用了 series.IsValueShownAsLabel = False 但值标签仍然显示。要删除它们,我必须执行以下操作:
对于 series.Points 中的每个点 point.Label = String.Empty Next
为什么我必须这样做而不是使用 IsValueShownAsLabel = False?