图表中星期几的颜色列显示的正确程度
本文关键字:显示 程度 颜色 | 更新日期: 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))