带有MS Chart的ASP.NET禁用垂直线

时间:2010-03-11 13:47:26

标签: .net asp.net vb.net data-visualization mschart

我有一张用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>

我不希望显示垂直线,因为它与每个条顶部的值搞混了。如何禁用垂直线?

谢谢。

5 个答案:

答案 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>