我有一张用MS Chart创建的图表,如下图所示。正如您所看到的那样,垂直线与每个条形顶部的值相混淆。
alt text http://img46.imageshack.us/img46/3720/chartimgaxd.png
这是图表的标记:
<asp:Chart ID="chtNBAChampionships" runat="server">
<Series>
<asp:Series Name="Championships" YValueType="Int32" ChartType="Column" ChartArea="MainChartArea" IsValueShownAsLabel="true">
<Points>
<asp:DataPoint AxisLabel="Celtics" YValues="17" />
<asp:DataPoint AxisLabel="Lakers" YValues="15" />
<asp:DataPoint AxisLabel="Bulls" YValues="6" />
<asp:DataPoint AxisLabel="Spurs" YValues="4" />
<asp:DataPoint AxisLabel="76ers" YValues="3" />
<asp:DataPoint AxisLabel="Pistons" YValues="3" />
<asp:DataPoint AxisLabel="Warriors" YValues="3" />
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="MainChartArea">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
我不希望显示垂直线,因为它与每个条顶部的值搞混了。如何禁用垂直线?
谢谢。
答案 0 :(得分:13)
简单的方法:
Chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
答案 1 :(得分:6)
我不知道具体的ASP语法,但这里有VB.NET代码可以解决这个问题:
Dim gd As New System.Windows.Forms.DataVisualization.Charting.Grid
gd.LineWidth = 0
myChart.ChartAreas("MainChartArea").AxisX.MajorGrid = gd
如果需要,可以使用C#版本:
System.Web.UI.DataVisualization.Charting.Grid gd = new System.Web.UI.DataVisualization.Charting.Grid();
gd.LineWidth = 0;
myChart.ChartAreas[0].AxisX.MajorGrid = gd;
正如您所看到的,您不能只关闭网格线,您必须将其宽度设置为0. MinorGrid可以以相同的方式隐藏。
答案 2 :(得分:1)
这解决了这个问题。感谢。
以下是c#代码....
var gd = new System.Web.UI.DataVisualization.Charting.Grid();
gd.LineWidth = 0;
Chart1.ChartAreas[0].AxisX.MajorGrid = gd;
答案 3 :(得分:1)
最简单的方法,将以下代码放在图表加载事件中。
protected void Chart1_Load(object sender, EventArgs e)
{
Chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
Chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;
}
答案 4 :(得分:0)
这可以从源
开始<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisX>
<MajorGrid LineWidth="0" />
</AxisX>
</asp:ChartArea>
</ChartAreas>