[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 339
  • Last Modified:

ASP.net Series Line colors

Hi
I generate the following chart using the code below it. How do I change the line colors and legend line colors
Also I want to slant the dates at the bottom at a 45 degree angle. Is that possible?

1
Sub oChart_Actualv_Budget(ByVal oConnectionString As String, ByVal oSQL As String, ByVal oFilter As String)

        Try
            'First build GridView 
            Dim oGridView As New GridView
            Dim dt As DataTable = SQL_Data_Table.GetSQLDataTable(oConnectionString, oSQL)
            If oFilter <> "" Then
                dt.DefaultView.RowFilter = oFilter
            End If
            oGridView.DataSource = dt
            oGridView.DataBind()
            oGridView.Visible = False
            'up.ContentTemplateContainer.Controls.Add(oGridView)
            'up.ContentTemplateContainer.Controls.Add(oTimer)
            'T.Rows(0).Cells(oColumn).Controls.Add(up)
            Table1.Rows(0).Cells(0).Controls.Add(oGridView)

            ' Initialize the Chart object    
            Dim chart1 As New Chart()
            chart1.ID = "chart1"

            'Add to do code here
            If Not IsPostBack Then
                ' Initialize objects and elements
                Dim chartArea1 As New ChartArea()
                Dim legend1 As New Legend()
                Dim series1 As New Series()
                Dim series2 As New Series()
                Dim series3 As New Series()

                ' Set the Chart Properties
                chart1.Width = 1200
                'chart1.Height = 340

                chart1.Palette = ChartColorPalette.Light
                chart1.BackColor = System.Drawing.Color.Gray
                chart1.BorderSkin.SkinStyle = BorderSkinStyle.Emboss

                chart1.BorderlineColor = System.Drawing.Color.Gray
                'chart1.BorderLineStyle = ChartDashStyle.Solid
                chart1.BorderlineWidth = 4
                chart1.BackGradientStyle = GradientStyle.LeftRight


                ' Set the ChartArea properties
                chartArea1.Name = "Default"
                chartArea1.BackColor = System.Drawing.Color.Gray
                chartArea1.BackGradientStyle = GradientStyle.LeftRight
                chart1.BorderSkin.SkinStyle = BorderSkinStyle.Raised

                chart1.BackColor = Drawing.Color.Navy
                chartArea1.BackColor = Drawing.Color.DarkRed

                ' Add the ChartArea to the Chart
                chart1.ChartAreas.Add(chartArea1)

                chartArea1.AxisX.LabelStyle.Enabled = True
                chartArea1.AxisX.IsLabelAutoFit = True
                chartArea1.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.LabelsAngleStep30

                ' Set the Legend properties
                legend1.Name = "Default"
                legend1.Docking = Docking.Bottom
                legend1.LegendStyle = LegendStyle.Row
                legend1.Alignment = System.Drawing.StringAlignment.Center

                legend1.BackColor = System.Drawing.Color.Transparent
                legend1.BorderColor = System.Drawing.Color.Black
                legend1.BorderWidth = 1



                ' Add the Legend to the Chart
                chart1.Legends.Add(legend1)

                ' Set the Series properties
                'series1.BorderColor = System.Drawing.Color.DarkSlateGray
                series1.Name = "Actual"
                series1.ChartType = SeriesChartType.Line
                series1.BorderColor = Drawing.Color.Black
                series1.BorderWidth = 4

                'series2.BorderColor = System.Drawing.Color.DarkSlateGray
                series2.Name = "Budget"
                series2.ChartType = SeriesChartType.Line
                series1.BorderWidth = 4

                'series3.Name = "Series3"
                'series3.BorderWidth = 3
                'series3.ChartType = SeriesChartType.Line

                ' Add the Series to the Chart
                chart1.Series.Add(series1)
                chart1.Series.Add(series2)
                'chart1.Series.Add(series3)
                chartArea1.AxisX.Interval = 1
                'chartArea1.AxisX.LabelStyle.IsEndLabelVisible = False

                Dim strDate As String
                Dim y As Decimal
                For i As Integer = 0 To oGridView.Rows.Count - 1
                    strDate = CStr(CDate(oGridView.Rows(i).Cells(2).Text))
                    y = CDec(oGridView.Rows(i).Cells(3).Text)
                    'series2.Points.AddY(y)
                    series1.Points.AddXY(strDate, y)
                Next

                For i As Integer = 0 To oGridView.Rows.Count - 1
                    strDate = CStr(CDate(oGridView.Rows(i).Cells(2).Text))
                    y = CDec(oGridView.Rows(i).Cells(4).Text)
                    'series2.Points.AddY(y)
                    series2.Points.AddXY(strDate, y)
                Next

                'Preserve the chart's state during callbacks
                'chart1.CallbackStateContent = CallbackStateContent.All
            End If

            ' You MUST add the Chart to a form. By default, form1 is created on aspx pages.
            Table1.Rows(0).Cells(0).Controls.Add(chart1)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

Open in new window

0
Murray Brown
Asked:
Murray Brown
1 Solution
 
Robert SchuttSoftware EngineerCommented:
In my initial post on your previous question I forgot to adjust BorderColor to Color (after changing the chart type to line) but in the second post I did. So (on line 80) you can use:
series1.Color = Drawing.Color.Black

Open in new window

to set the line color and this will also change the color in the legend.

Note that you seem to have a copy/paste error on line 86, should be series2 I guess?

For the slanted labels use an angle of positive or negative 45 depending if you want to slant up or down:
chartArea1.AxisX.LabelStyle.Angle = -45

Open in new window

0
 
Murray BrownMicrosoft Cloud Azure/Excel Solution DeveloperAuthor Commented:
Great. Thanks very much
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now