如何在ASP.Net中做不同颜色的柱形图 [英] How to do different color of column chart in ASP.Net

查看:129
本文介绍了如何在ASP.Net中做不同颜色的柱形图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个柱形图,其中每个值都需要不同的颜色.怎么解决?请帮帮我.
提前谢谢.

我正在使用此代码.

I have a column chart in which I want different color of every value. How to solve? Please help me.
Thanks in advance.

I am using this code.

Public Sub DotNetChartCom(ByVal Chart1 As Chart, ByVal table As DataTable, ByVal multiSeriesGroupField As String, ByVal nameField As String, _
                                     ByVal valueField As String, ByVal Tooltip As String)

        Chart1.BorderSkin.SkinStyle = BorderSkinStyle.None
        Chart1.BackColor = Drawing.Color.White
        Chart1.BorderSkin.BackColor = System.Drawing.Color.White
        Try
            Dim dsHelper As New DataSetHelper()
            Dim listUnique As New List(Of String)()
            ''Dim multiSeriesGroupField As String = "multiSeriesGroupField"
            listUnique = New List(Of String)()
            listUnique.Add(multiSeriesGroupField)
            Dim dtUnique As DataTable = dsHelper.RemoveDuplicates(table, listUnique)

            Dim i As Integer = 0
            ''Chart1.ChartAreas(0).AxisX.Title = "WS Rates"
            Chart1.ChartAreas(0).BackGradientStyle = GradientStyle.None
            Chart1.ChartAreas(0).BackColor = Drawing.Color.Transparent
            Chart1.ChartAreas(0).BackImageTransparentColor = Drawing.Color.Blue
            ''Grid Color
            Chart1.ChartAreas(0).AxisY.LineColor = Drawing.Color.LightGray
            Chart1.ChartAreas(0).AxisX.LineColor = Drawing.ColorTranslator.FromHtml("#f9f2f2")

            ''Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Drawing.Color.LightGray
            Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Drawing.ColorTranslator.FromHtml("#f9f2f2")
            Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Drawing.Color.WhiteSmoke

            Chart1.Palette = ChartColorPalette.Grayscale
            Chart1.BackColor = Drawing.Color.White
            Chart1.BackSecondaryColor = Drawing.Color.White

            Chart1.BorderlineColor = Drawing.ColorTranslator.FromHtml("#f9f2f2")
            Chart1.BorderlineDashStyle = ChartDashStyle.Solid

            For Each drUnique As DataRow In dtUnique.Rows
                Dim currentGroup As String = drUnique(multiSeriesGroupField).ToString()
                Chart1.Legends.Add(currentGroup)
                Chart1.Legends(currentGroup).Docking = Docking.Bottom
                Chart1.Legends(currentGroup).Alignment = Drawing.StringAlignment.Center
                Chart1.Legends(currentGroup).LegendStyle = LegendStyle.Row
                Dim drs As DataRow() = table.[Select](multiSeriesGroupField & "=" & GetValue(currentGroup))
                If drs.Length > 0 Then
                    Chart1.Series.Add(GetValue(drUnique(multiSeriesGroupField).ToString()))

                    Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).PostBackValue = "#AXISLABEL"
                    Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).ToolTip = "#AXISLABEL " + currentGroup + Tooltip + ": #VAL{C}"
                    Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).ChartType = SeriesChartType.Area
                    Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).MarkerStyle = MarkerStyle.Circle

                    Select Case i
                        Case 0
                            Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#667C26")
                        Case 1
                            Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.Color.Beige
                        Case 2
                            Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#817339")
                        Case 3
                            Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#4C7D7E")
                        Case 4
                            Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#736F6E")
                        Case 5
                            Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#56A5EC")
                        Case 6
                            Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#C8BBBE")
                    End Select
                    Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString()))("ShowMarkerLines") = False
                    For Each drData As DataRow In drs
                        Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Points.DataBind(drs, nameField, valueField, "")
                    Next
                End If
                i = i + 1
            Next
            '' Data bind to the selected data source
            Chart1.DataBind()

        Catch ex As Exception
            Throw ex
        End Try

    End Sub

推荐答案

试试这个

Try this one

<asp:Chart ID="Chart1" runat="server">
              <Series>
                  <asp:Series Name="Series1" ChartArea="ChartArea1"  Color="Blue">;
                  </asp:Series<

              </Series>
              <ChartAreas>
                  <asp:ChartArea Name="ChartArea1">
                  </asp:ChartArea>
              </ChartAreas>
          </asp:Chart>


这篇关于如何在ASP.Net中做不同颜色的柱形图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆