15

我有一个 MS Chart 图表类型列的问题。如果图表中有超过 9 个条形,则轴 x 标签将无法正确显示,其中一些会消失。

这是我对图表的标记:

<asp:Chart ID="chtNBAChampionships" runat="server">
   <Series>
      <asp:Series Name="Championships" YValueType="Int32" Palette="Berry"   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" />
            <asp:DataPoint AxisLabel="Mara" YValues="4" />
            <asp:DataPoint AxisLabel="Saza" YValues="9" />
            <asp:DataPoint AxisLabel="Buha" YValues="6" />

         </Points>
      </asp:Series>
   </Series>
   <ChartAreas>
      <asp:ChartArea Name="MainChartArea">
      </asp:ChartArea>
   </ChartAreas>
</asp:Chart>

只有 9 条它可以工作,但我不知道为什么超过 9 条它会失败。有什么方法可以使图表正常工作吗?另外,如果可能的话,如何使每个条具有不同的颜色?

4

4 回答 4

34

我有同样的问题,但我在页面加载时使用 c#。

我通过添加这个解决了它

    Chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;
于 2010-03-16T07:18:07.320 回答
3

Chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;

于 2010-04-14T05:59:23.720 回答
2
<ChartAreas>
<asp:ChartArea Name="ChartArea1" >
<AxisY Title="Progress->">
</AxisY>
<AxisX Interval="1" Title="Activity->">
</AxisX>
</asp:ChartArea>
于 2010-04-14T06:15:04.483 回答
0

尝试设置图表的宽度,看看是否能解决仅显示 9 条的问题。

<asp:Chart ID="chtNBAChampionships" runat="server" Width="400px">

您可以在 DataPoint 中设置颜色。

<asp:DataPoint AxisLabel="Celtics" YValues="17" Color="Green" />
于 2010-03-12T20:18:49.133 回答