2010-03-11 3 views
6

Vedere la tabella seguente. Sto costruendo la tabella in modo programmatico, quindi non ci sono sintassi di controllo asp.net per favore.Come modificare i colori della linea del divisore dell'asse in Microsoft Chart Controls (grafico delle colonne)

bar chart example

Come posso cambiare i colori delle linee della griglia che attraversano orizzontalmente e verticalmente dietro le sbarre? Come puoi vedere ho capito come cambiare i colori degli assi reali, ma i colori della griglia rimangono neri.

public ActionResult RenderChart() 
{ 
    var chart = new Chart(); 
    double[] yValues = { 65.62, 75.54, 60.45, 55.73, 70.42 }; 
    string[] xValues = { "Michelle", "Sarah", "Aliece", "Belinda", "Amanda" }; 
    var series = new Series 
    { 
     Name = "Default", 
     ChartType = SeriesChartType.Column, 
     CustomProperties = "DrawingStyle=Cylinder" 
    }; 
    series.Points.DataBindXY(xValues, yValues); 

    chart.BorderlineColor = Color.Silver; 
    var area = new ChartArea("Test"); 
    area.AxisX.LineColor = Color.DarkGray; 
    area.AxisY.LineColor = Color.DarkGray; 

    chart.ChartAreas.Add(area); 
    chart.Series.Add(series); 
    series.IsValueShownAsLabel = true; 

    series.Font = new Font(series.Font, FontStyle.Bold); 
    chart.Width = 400; 
    chart.Height = 300; 

    using(var ms = new MemoryStream()) 
    { 
     chart.SaveImage(ms, ChartImageFormat.Png); 
     Response.ContentType = "image/png"; 
     Response.BinaryWrite(ms.ToArray()); 
     return new EmptyResult(); 
    } 
} 

risposta

15

Poco male, ha trovato la risposta:

area.Axes[n].MajorGrid.LineColor = Color.Whatever; 
3

È anche possibile farlo nel codice HTML come questo

<asp:Chart ID="chartOutstandingOrders" runat="server" Width="500" Palette="Bright"> 

      <Series> 
       <asp:Series ChartType="Line" Name="seriesBackorder"> 
       </asp:Series> 
      </Series> 

      <ChartAreas> 
       <asp:ChartArea Name="ChartArea1" BorderColor="#339966"> 
        <AxisX LineColor="Gray"> 
         <MajorGrid LineColor="LightGray" /> 
        </AxisX> 
        <AxisY LineColor="Gray"> 
         <MajorGrid LineColor="LightGray" /> 
        </AxisY> 
       </asp:ChartArea> 
      </ChartAreas> 

     </asp:Chart> 
0

Per MS grafico, il colore di sfondo della griglia può essere cambiato seguendo dichiarazione.

myChart.ChartAreas["xSeries"].AxisX.MajorGrid.LineColor = Color.Blue;