图表中星期几的颜色列显示的正确程度

本文关键字:显示 程度 颜色 | 更新日期: 2023-09-27 18:36:57

我想以不同的颜色(星期一红色,星期二绿色等)显示一周中的每一天,但我无法在图表中正确显示数据。
我每天都有系列。但是使用ChartType:列,图表显示的每一天都非常丑陋(见这里的图片:http://i49.tinypic.com/oszeqt.png)。
图表中的数据:

01:12000
02:12500
03:13000
04:13500
05:14029
06:14509
07:15000
08:15500
09:16000
10:16500
11:17000
12:17125

代码位

                        DateTime dateValue = new DateTime(2012, 5, int.Parse(tempDay));
                    switch ((int)dateValue.DayOfWeek)
                    {
                        case 1:
                            chart1.Series["Monday"].Points.AddXY(int.Parse(tempDay), int.Parse(tempTime));
                            break;
                        case 2:
                            chart1.Series["Tuesday"].Points.AddXY(int.Parse(tempDay), int.Parse(tempTime));
                            break;
                        case 3:
                            chart1.Series["Wednesday"].Points.AddXY(int.Parse(tempDay), int.Parse(tempTime));
                            break;
                        case 4:
                            chart1.Series["Thursday"].Points.AddXY(int.Parse(tempDay), int.Parse(tempTime));
                            break;
                        case 5:
                            chart1.Series["Friday"].Points.AddXY(int.Parse(tempDay), int.Parse(tempTime));
                            break;
                        case 6:
                            chart1.Series["Saturday"].Points.AddXY(int.Parse(tempDay), int.Parse(tempTime));
                            break;
                        case 7:
                            chart1.Series["Sunday"].Points.AddXY(int.Parse(tempDay), int.Parse(tempTime));
                            break;
                    }

我的问题:如何正确显示每列的日期颜色。(我不需要每天单独的系列。

图表中星期几的颜色列显示的正确程度

好的,我终于找到了解决方案!

chart1.Series[0]["DrawSideBySide"] = "false";

之后,如果列太胖,则必须设置列的宽度

chart1.Series[0]["PointWidth"] = "0.1";

这也可以在自定义属性的系列属性设计中找到

不确定颜色本身是否是您担心的问题,如果是这样,我使用了这样的东西:

Dim ListOfColors As List(Of String) = Utilities.BuildCustomColorPalette(firstColor)

..

Public Shared Function BuildCustomColorPalette(colorIN As String) As List(Of String)
      Dim arrCol() As String = {"DarkOrange", "Green", "Blue", "Yellow", "Purple", "Red", "Aqua", "Fuchsia", "Lime", "DodgerBlue", "Gold"}
      Dim listOfColors As New List(Of String)
      listOfColors.Add(colorIN)
      For idx = 0 To arrCol.Length - 1
         If listOfColors.Contains(arrCol(idx)) Then
            'nada
         Else
            listOfColors.Add(arrCol(idx))
         End If
         If listOfColors.Count = 10 Then
            Return listOfColors
         End If
      Next
      Return listOfColors
   End Function

..像这样使用:

Chart.Series(Idx).Color = Color.FromName(ListOfColors(Idx))