见下图。我正在以编程方式构建图表,所以请不要使用asp.net控件语法。
如何更改条形后横向和纵向交叉的网格线颜色?正如您所看到的,我已经研究出如何更改实际轴颜色,但网格颜色仍为黑色。
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();
}
}
答案 0 :(得分:16)
没关系,找到了答案:
area.Axes[n].MajorGrid.LineColor = Color.Whatever;
答案 1 :(得分:3)
您也可以在HTML中这样做
<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>
答案 2 :(得分:0)
对于MS Chart,可以通过以下语句更改背景网格颜色。
myChart.ChartAreas["xSeries"].AxisX.MajorGrid.LineColor = Color.Blue;