MS Chart with ASP.NET chart type "column" not showing axis x label if there are more than 9 bar in the chart
I have a problem with an MS Chart chart type column. If there are more than 9 bars in the chart, the axis-x labels won't show up properly, some of them just disappear.
Here's my mark-up for the chart:
<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" /&g开发者_Go百科t;
<asp:DataPoint AxisLabel="Buha" YValues="6" />
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="MainChartArea">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
With only 9 bars it works, but I don't know why it fails with more than 9 bars. Is there any way to make the chart work properly? Also, if possible, how to make each bar have different color?
I had the same problem, but i'm using c# on page load.
I solved it by adding this
Chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;
Chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;
<ChartAreas>
<asp:ChartArea Name="ChartArea1" >
<AxisY Title="Progress->">
</AxisY>
<AxisX Interval="1" Title="Activity->">
</AxisX>
</asp:ChartArea>
Try setting the width of the chart and see if that resolves issue with only showing 9 bars.
<asp:Chart ID="chtNBAChampionships" runat="server" Width="400px">
You can set the color in the DataPoint.
<asp:DataPoint AxisLabel="Celtics" YValues="17" Color="Green" />
精彩评论