Имя метки в p ie диаграмме VB.NET - PullRequest
0 голосов
/ 15 апреля 2020
 ''' Dim yValues As Double() = {txtInvAmt.Text, txtTimeAmt.Text, 
      txtBillAmt.Text} 
     ' Getting values from 
    Textboxes 
    Dim xValues As String() = {"Invoice Amount", "Time Amount", "Bill 
      Amount"} ' 
    Headings
       Dim seriesName As String = Nothing

  ' Note 1 : Clear chart before fill - VERY IMPORTANT and can generate 
 exception 
if you are generating
    '          multiple charts in loop and have not included below lines !
    ' Note 2 : Chrt variable here is the Name of your Chart 
chrt.Series.Clear()
  chrt.Titles.Clear()

  ' Give unique Series Name
   seriesName = "ChartInv"
     chrt.Series.Add(seriesName)

  ' Bind X and Y values
 chrt.Series(seriesName).Points.DataBindXY(xValues, yValues)

' Chart Area Modification (Optional)
Dim CArea As ChartArea = chrt.ChartAreas(0)
CArea.BackColor = Color.Azure
CArea.ShadowColor = Color.Red
CArea.Area3DStyle.Enable3D = True

' Define Custom Chart Colors
chrt.Series(seriesName).Points(0).Color = Color.MediumSeaGreen
chrt.Series(seriesName).Points(1).Color = Color.PaleGreen
chrt.Series(seriesName).Points(2).Color = Color.LawnGreen

' Define Chart Type
chrt.Series(seriesName).ChartType = SeriesChartType.Pie

chrt.ChartAreas("ChartArea1").Area3DStyle.Enable3D = True

' Formatting the Chart Title
Dim T As Title = chrt.Titles.Add("Amount Distribution")
With T
   .ForeColor = Color.Black
   .BackColor = Color.LightBlue
   .Font = New System.Drawing.Font("Times New Roman", 11.0F, System.Drawing.FontStyle.Bold)
   .BorderColor = Color.Black
End With

' If you want to show Chart Legends
 chrt.Legends(0).Enabled = True

' If you don't want to show data values and headings as label inside each Pie in chart
chrt.Series(seriesName)("PieLabelStyle") = "Disabled"
chrt.Series("ChartInv").IsValueShownAsLabel = False

' If you want to show datavalues as label inside each Pie in chart
chrt.Series("ChartInv").IsValueShownAsLabel = True

Я использовал приведенный выше код с этой страницы: https://notesbyparth.wordpress.com/2013/11/26/addcreategenerate-basic-pie-chart-using-chart-control-vb-net-visual-studio-2010/?unapproved=2076&moderation-hash=77f20acfc64b6625c8a1afb98d4ea8fc#comment -2076

Пока он работает правильно, у меня есть две проблемы: 1) Одна из них заключается в том, что я Я не могу объединить метки. Например, я хочу отобразить значения YValues ​​как XX%, но я не могу прикрепить этот символ%.

2) Вторая проблема заключается в том, что я не могу найти способ динамического изменения количества значений YValues. В приведенном выше коде переменные YValue жестко закодированы. Как изменить код, чтобы у меня было любое количество YValues.

Спасибо, Халид.

...