当标签为0 - vb.net时,不要在Windows窗体图表中显示标签

时间:2015-06-01 19:29:37

标签: vb.net winforms charts

我有一个包含饼图的窗体(使用chartcontrol)。 此图表中有5个数据点,使用5个数字下拉框输入。 我有一个代码绘制饼图并显示标签。但是,图表显示了" 0"当数据点的值为0时标记。我不希望这样,我想隐藏那个值为0的特定标签,并且只显示那些值不为0的标签。 我该怎么做呢?我尝试使用图表属性,但没有找到任何东西。我也尝试了以下代码,但这也不起作用:

For Each dp As DataPoint In Chart1.Series("Series1").Points
  If dp.YValues(0) <> 0 Then
      dp.IsValueShownAsLabel = True
  End If
Next

检查IsValueShownAsLabel的图表属性。设置为&#34; False&#34;。数据来自使用Chart1.Series("Series1").Points.AddY(NumericUpDown1.Value) Chart1.Series("Series1").Points.AddY(NumericUpDown2.Value) Chart1.Series("Series1").Points.AddY(NumericUpDown3.Value) Chart1.Series("Series1").Points.AddY(NumericUpDown4.Value) Chart1.Series("Series1").Points.AddY(NumericUpDown5.Value)

的表单中的numericupdown框

5个数字下拉框有5个数据点。

此外,这是显示图表的image。看到图表的0.0%是我不想要的。该数据点设置为0,但它仍然显示。

感谢任何帮助。 感谢。

2 个答案:

答案 0 :(得分:0)

如果标签不为零,则不显示标签,如果它们为零则隐藏它们:

For Each dp As DataPoint In Chart1.Series("Series1").Points
  If dp.YValues(0) = 0 Then
      dp.IsValueShownAsLabel = False
  End If
Next

答案 1 :(得分:0)

这很简单,适用于所有人:

For Each dp As DataPoint In Chart1.Series("Series1").Points
        If dp.YValues(0) = 0 Then
            dp.IsEmpty = True
        Else
            'Show label as "Y Value as Percent of Total" with format as % and precision 1.
            Chart1.Series("Series1").Label = "#VAL{N1}%"
        End If
    Next