2011-06-22 2 views
0

quelqu'un peut-il me montrer que je pourrais être en mesure d'utiliser des couleurs personnalisées dans un contrôle graphique ASP.Net. donc par exemple j'ai deux séries TOTAL et TARGET et je veux mettre la couleur du total au vert et la couleur de la cible à être rouge.asp.net C# comment utiliser les couleurs personnalisées dans les graphiques

+0

J'ai appris que des questions telles que ce parfois obtenir de meilleures réponses sur les forums de Microsoft. –

Répondre

1

Quelque chose comme ceci:

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)]; 
    } 
} 
0

L'objet System.Web.UI.DataVisualization.Charting.Series a une propriété Color. Il suffit de définir la propriété de couleur à ce que vous voulez qu'elle soit. Voici un échantillon de suit le code qui ajoute une ligne horizontale d'une valeur donnée à un graphique:

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; 
} 

Cet exemple de code fait des ajustements à d'autres propriétés, vous trouverez probablement utiles.

1

iv fait quelque chose comme

Chart2.Series.Add(new Series("Target") 
    { 
     ChartType = SeriesChartType.Column, 
     Color = Color.Red, 
    }); 
+1

+1: J'aime la façon dont vous définissez la couleur dans l'instruction 'new'. Il semble plus élégant que la méthode que j'ai utilisée. –

1

supposons que vous avez deux points pour votre Series1. Vous pouvez personnaliser les couleurs comme suit:

Chart1.Series["Series1"].Points[0].Color=Color.Red; 
Chart1.Series["Series1"].Points[1].Color=Color.Yellow; 
Questions connexes