2010-03-11 11 views
6

Consulte la tabla a continuación. Estoy construyendo el gráfico programáticamente, por lo que no hay sintaxis de control asp.net por favor.Cómo cambiar los colores de la línea divisoria del eje en Microsoft Chart Controls (gráfico de columnas)

bar chart example

¿Cómo se cambian los colores de las líneas de rejilla que se cruzan horizontal y verticalmente detrás de las rejas? Como puede ver, he calculado cómo cambiar los colores reales del eje, pero los colores de la cuadrícula permanecen negros.

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

Respuesta

15
Nunca

mente, encontró la respuesta:

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

También puede hacerlo en el HTML de la siguiente

<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

Para MS Chart, el color de fondo de rejilla se puede cambiar siguiendo declaración.

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