2012-05-23 10 views
9

Mam wykres grup produktów, w sumie 35. Zwiększają skalę Osi X. Wykres jest dobry, ale pokazuje tylko 5 nazw produktów i potrzebuję ich wszystkich do pokazania. Włączyłem MinorTickMark na true, więc wszystkie znaczniki są widoczne, ale jak mogę wyświetlić ich odpowiednią etykietę?pokazujące wszystkie wartości w kontroli wykresu Xaxis

Nie mogłem uzyskać obrazu do opublikowania, więc tutaj jest znacznik aspx i kod z tyłu. . Znaczniki aspx;

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

Oto kod, za pomocą którego można umieścić dane próbki na wykresie.

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

Dzięki za odpowiedź !! – karthik

+0

@dinotom Możesz odpowiedzieć na własne pytanie – Drake

+0

Interval = 1 rozwiązało mój problem. –

Odpowiedz

0

Odpowiedź leży w osi LabelStyles . Poniższy kod sformatuje oś (X lub Y), tak aby pojawiały się wszystkie drobne znaczniki, przerwa wynosi jeden i wszystkie etykiety dla każdego znacznika będą się wyświetlać.

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 

Uwaga: Jeśli chcesz etykiety przesuniętym następnie odkomentowaniu z przedostatniej linii

2

kontrola wykres jest bardzo ograniczona, jeśli chcesz je dostosować, lepiej stworzyć swój własny wykres, generując obraz:

see link

Powiązane problemy