asp.net c#如何在图表中使用自定义颜色
本文关键字:自定义 颜色 net asp | 更新日期: 2023-09-27 17:59:52
有人能告诉我我可以在ASP.Net图表控件中使用自定义颜色吗。例如,我有两个系列TOTAL和TARGET,我想将TOTAL的颜色设置为绿色,将TARGET的颜色设置成红色。
类似这样的东西:
Color[] colors = new Color[] { Color.Green, Color.Red };
foreach (Series series in Chart1.Series)
{
foreach (DataPoint point in series.Points)
{
point.LabelBackColor = colors[series.Points.IndexOf(point)];
}
}
iv做了类似的事情
Chart2.Series.Add(new Series("Target")
{
ChartType = SeriesChartType.Column,
Color = Color.Red,
});
假设您的Series1有两个点。因此,您可以自定义颜色如下:
Chart1.Series["Series1"].Points[0].Color=Color.Red;
Chart1.Series["Series1"].Points[1].Color=Color.Yellow;
System.Web.UI.DataVisualization.Charting.Series
对象具有Color
属性。只需将颜色属性设置为您需要的颜色即可。下面是一个代码示例,它将给定值的水平线添加到图表中:
public static System.Web.UI.DataVisualization.Charting.Chart addLineToChart(
System.Web.UI.DataVisualization.Charting.Chart pChart, double pValue, System.Drawing.Color pColor)
{
// I will declare a new series where every value is the value passed in
System.Web.UI.DataVisualization.Charting.Series constantLineSeries = new System.Web.UI.DataVisualization.Charting.Series();
constantLineSeries.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Line;
constantLineSeries.BorderWidth = ChartingValues.CHART_LINE_THICKNESS;
constantLineSeries.Color = pColor;
// At each point in the old series, add a constant point in the new series.
foreach(System.Web.UI.DataVisualization.Charting.DataPoint point in pChart.Series[0].Points)
{
System.Web.UI.DataVisualization.Charting.DataPoint constantLinePoint = new System.Web.UI.DataVisualization.Charting.DataPoint();
constantLinePoint.XValue = point.XValue;
constantLinePoint.YValues = new double[] { pValue };
constantLineSeries.Points.Add(constantLinePoint);
}
pChart.Series.Add(constantLineSeries);
pChart.ChartAreas[0].Area3DStyle.Enable3D = false;
return pChart;
}
此代码示例对您可能会发现有用的其他一些属性进行了调整。
我不知道这是否有帮助,但我创建了一个自定义控件,它公开了几个可以调整的参数,如图表类型、颜色、墙宽等。
http://www.foliotek.com/devblog/asp-net-4-0-custom-chart-control-adjustable/