如何在ASP.Net中做不同颜色的柱形图 [英] How to do different color of column chart in ASP.Net
本文介绍了如何在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屋!
查看全文