Вопрос по vb.net – показывая все значения в диаграмме управления Xaxis

9

У меня есть диаграмма продуктов, всего 35. Они увеличивают ось X. На графике все в порядке, но показаны только 5 наименований продуктов, и мне нужно, чтобы они все отображались. Я включил MinorTickMark в значение true, чтобы отображались все отметки, но как мне сделать так, чтобы их соответствующий ярлык был виден?

Я не смог получить изображение для публикации, так что вот разметка aspx и код позади. .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>

Вот код для размещения образцов данных в диаграмме.

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
@dinotom Вы можете ответить на свой вопрос Drake
Интервал = 1 решил мою проблему. Yasser Sobhdel
Спасибо за Ваш ответ!! karthik

Ваш Ответ

2   ответа
0

(X или Y) так, чтобы отображались все второстепенные отметки, интервал равен единице, и будут отображаться все метки для каждой отметки.

 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

Примечание. Если вы хотите, чтобы метки были в шахматном порядке, раскомментируйте следующую или последнюю строку

2

если вы хотите настроить ее, вам лучше создать собственную диаграмму, сгенерировав изображение:

см ссылку

Похожие вопросы