2010-03-12 10 views
15

Ho un problema con una colonna del tipo di grafico MS Chart. Se ci sono più di 9 barre nel grafico, le etichette dell'asse-x non verranno visualizzate correttamente, alcune di esse scompariranno.MS Chart con tipo di grafico "colonna" ASP.NET che non mostra l'etichetta dell'asse x se ci sono più di 9 barre nel grafico

Ecco il mio mark-up per il grafico:

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

Con solo 9 bar funziona, ma non so il motivo per cui non riesce con più di 9 bar. C'è un modo per far funzionare correttamente il grafico? Inoltre, se possibile, come rendere ogni barra di colore diverso?

risposta

32

Ho avuto lo stesso problema, ma sto usando C# sul caricamento della pagina.

ho risolto aggiungendo questo

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

Provare a impostare la larghezza del grafico e vedere se questo risolve il problema mostrando solo 9 barre.

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

È possibile impostare il colore nel DataPoint.

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

MHinton, il trucco Larghezza non funziona. Ho persino impostato Width = "800px" Height = "600px" per vedere la modifica ma AxisLabel non verrà visualizzato correttamente. Lo stesso problema sorge –

+0

Prova ad aggiungere un altro DataPoint alla fine dell'elenco come questo. MHinton

+0

Il risultato è sempre lo stesso. AxisLabel non verrà visualizzato correttamente. In attesa di mostrare 10 AxisLabel, mostra solo 5 come la seconda immagine sopra. –

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>