2010-03-12 9 views
15

Ich habe ein Problem mit einer MS Chart Diagrammspalte. Wenn mehr als 9 Balken im Diagramm vorhanden sind, werden die Achsen-x-Beschriftungen nicht richtig angezeigt, einige von ihnen verschwinden einfach.MS Chart mit ASP.NET-Diagrammtyp "Spalte" zeigt Achse x Beschriftung nicht an, wenn mehr als 9 Balken im Diagramm vorhanden sind

Hier ist mein Aufschlag für das Diagramm:

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

Mit nur 9 bar es funktioniert, aber ich weiß nicht, warum es mit mehr als 9 bar ausfällt. Gibt es eine Möglichkeit, das Diagramm ordnungsgemäß zu funktionieren? Außerdem, wenn möglich, wie wird jeder Balken andersfarbig gemacht?

Antwort

32

Ich hatte das gleiche Problem, aber ich verwende C# beim Laden der Seite.

Ich löste es durch diese Zugabe

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

Versuchen Sie, die Breite des Diagramms einzustellen und zu sehen, ob das Problem behoben wird und nur 9 Balken angezeigt werden.

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

Sie können die Farbe im DataPoint festlegen.

<asp:DataPoint AxisLabel="Celtics" YValues="17" Color="Green" /> 
+0

Mhinton, funktioniert die Breite Trick nicht. Ich habe sogar Width = "800px" Height = "600px" gesetzt, um die Änderung zu sehen, aber das AxisLabel wird nicht richtig angezeigt. Das gleiche Problem entsteht. –

+0

Versuchen Sie, einen weiteren DataPoint am Ende der Liste wie folgt hinzuzufügen. MHinton

+0

Das Ergebnis ist immer noch das gleiche. AxisLabel wird nicht korrekt angezeigt. Intead von 10 AxisLabel zeigt nur 5 wie das 2. Bild oben. –

3

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

1
<ChartAreas> 
<asp:ChartArea Name="ChartArea1" > 
<AxisY Title="Progress->"> 
</AxisY> 
<AxisX Interval="1" Title="Activity->"> 
</AxisX> 
</asp:ChartArea>