2012-05-23 5 views
9

Ich habe ein Diagramm von einer Reihe von Produkten, 35 in allen. Sie vergrößern die X-Achse. Das Diagramm ist in Ordnung, aber nur 5 der Produktnamen zeigen und ich brauche sie alle zu zeigen. Ich habe MinorTickMark auf true gesetzt, so dass alle Häkchen angezeigt werden, aber wie bekomme ich das jeweilige Etikett sichtbar?zeigt alle Werte in Diagrammsteuerung Xaxis

Ich konnte das Bild nicht zum Post bekommen, also hier ist das aspx Markup und der Code dahinter. ASPX-Markup;

<asp:Chart ID="MonthinYearchart" Width="350px" Height="420px" runat="server"> 
      <Series> 
      <asp:Series ChartType="Bar" ChartArea="MainChartArea" Name="PnL"> 

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

Hier ist der Code hinter Beispieldaten in das Diagramm einzufügen.

Private Sub AllCommodforMonthChart() 
    Dim cht As Chart = MonthinYearchart 
    'create the arraylist of data 
    'this is hardcoded to get chart to work, you will have to 
    'set up the code to retrieve it from database 
    Dim list As List(Of String) = GetList("Futures Data") 
    Const val As Integer = 65 

    'create all the data points 
    For i As Integer = 0 To list.Count - 1 
     cht.Series("PnL").Points.AddXY(list(i), val * i) 
    Next 
    cht.Series("PnL").ChartType = SeriesChartType.Bar 
    cht.ChartAreas("MainChartArea").AxisX.MinorTickMark.Enabled = True 

End Sub 
+0

Vielen Dank für Ihre Antwort Kommentar- aus gestaffelte !! – karthik

+0

@dinotom Sie können Ihre eigene Frage beantworten – Drake

+0

Interval = 1 löste mein Problem. –

Antwort

0

Die Antwort liegt in der Achse LabelStyles . Der folgende Code formatiert die Achse (X oder Y) so, dass alle kleineren Häkchen angezeigt werden, das Intervall ist eins und alle Beschriftungen für jedes Häkchen werden angezeigt.

cht.ChartAreas("MainChartArea").AxisX.MinorTickMark.Enabled = True 
cht.ChartAreas("MainChartArea").AxisX.Interval = 1 
cht.ChartAreas("MainChartArea").AxisX.IsLabelAutoFit = True 
'cht.ChartAreas("MainChartArea").AxisX.LabelStyle.IsStaggered = True 
cht.ChartAreas("MainChartArea").AxisX.LabelAutoFitStyle = LabelAutoFitStyles.DecreaseFont 

Hinweis: Wenn Sie die Etiketten wollen dann die vorletzte Zeile

2

Chart-Steuerung ist sehr begrenzt, wenn Sie es anpassen möchten, sind Sie besser Ihre eigenen Diagramm erstellen, indem Sie ein Bild zu erzeugen:

see link