''' 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.
Спасибо, Халид.