asp.net c#如何在图表中使用自定义颜色

本文关键字:自定义 颜色 net asp | 更新日期: 2023-09-27 17:59:52

有人能告诉我我可以在ASP.Net图表控件中使用自定义颜色吗。例如,我有两个系列TOTAL和TARGET,我想将TOTAL的颜色设置为绿色,将TARGET的颜色设置成红色。

asp.net c#如何在图表中使用自定义颜色

类似这样的东西:

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/