| Previous | Home | Next |
Introduction
For making bar chart we will make use of ‘DrawRectangle’ in built function. because we have to first create a big rectangle defining the boundary of bar graphs. Parameters of DrawRectangle is
Pen – This defines the color and style of border
Rectangle – Rectangle object to be created
Private Sub New(x As Integer, y As Integer, width As Integer, height As Integer) End Sub
X and y are the co-ordinates of top left corner of rectangle. Width and height are width and height of rectangle.
Height = (weight of current array element *height of outer rectangle )/ maximum weight.X coordinate is incremented by width of bars everytime a new bar is created.
Y co-ordinate is calculated by the following formula:
y = y coordinate of outer rectangle + height of outer rectangle – height of barCode for DrawBarChart
Private Sub DrawBarChart(ByVal e As PaintEventArgs, ByVal alWeight As Integer())
Dim numberOfSections As Integer = alWeight.Length
Dim lengthArea As Integer = 330
Dim heightArea As Integer = 280
Dim topX As Integer = 20
Dim topY As Integer = 20
Dim maxWeight As Integer = MaxValue(alWeight)
Dim height As Integer() = New Integer(numberOfSections - 1) {}
Dim total As Integer = SumOfArray(alWeight)
Dim rnd As New Random()
Dim brush As New SolidBrush(Color.Aquamarine)
Dim pen As New Pen(Color.Gray)
Dim rec As New Rectangle(topX, topY, lengthArea, heightArea)
e.Graphics.DrawRectangle(pen, rec)
pen.Color = Color.Black
Dim smallX As Integer = topX
Dim smallY As Integer = 0
Dim smallLength As Integer = (lengthArea \ alWeight.Length)
Dim smallHeight As Integer = 0
For i As Integer = 0 To numberOfSections - 1
brush.Color = Color.FromArgb(rnd.[Next](200, 255),
rnd.[Next](255), rnd.[Next](255), rnd.[Next](255))
smallHeight = ((alWeight(i) * heightArea) \ maxWeight)
smallY = topY + heightArea - smallHeight
Dim rectangle As New Rectangle(smallX, smallY, smallLength, smallHeight)
e.Graphics.DrawRectangle(pen, rectangle)
e.Graphics.FillRectangle(brush, rectangle)
brush.Color = Color.FromKnownColor(KnownColor.Black)
e.Graphics.DrawRectangle(pen, rectangle)
smallX = smallX + smallLength
Next
End Sub
| Previous | Home | Next |