2014-01-06 1 views
0

Как (если возможно) установить ориентацию CustomLabel в Microsoft Chart Control? По умолчанию метки ориентированы перпендикулярно к chartarea, я хотел бы повернуть метки оси Y на 90 градусов. Это мой первый вопрос, поэтому у меня недостаточно очков репутации, чтобы опубликовать скриншот.Как (если возможно) установить ориентацию CustomLabel в Microsoft Chart Control?

Тип CustomLabel не имеет никакого свойства угла/ориентации и, согласно моим тестам, свойство LabelStyle для осей, похоже, не применяется.

Это код, который я использую для отображения метки:

private void Init() 
{ 
    chart1.Customize += (sender, e) => 
    { 
     var chartArea = chart1.ChartAreas.First(); 
     CustomizeAxis(chartArea.AxisX, 10, x => DateTime.FromOADate(x).ToString()); 
     CustomizeAxis(chartArea.AxisY, 5, x => Math.Round(x, 2).ToString(), 90);   
    }; 

    //... 
} 

private void CustomizeAxis(Axis axis, int numOfIntervals, Func<double, string> convertValue, int angle = 0) 
{ 
    var pos = axis.Minimum; 
    var intervalSize = (axis.Maximum - pos)/(double)numOfIntervals; 
    var intervalOffset = (intervalSize * 0.5); 
    var labels = axis.CustomLabels; 

    labels.Clear(); 
    for (int i = 0; i <= numOfIntervals; i++) 
    { 
     var label = new CustomLabel(pos - intervalOffset, pos + intervalOffset, convertValue(pos), 1, LabelMarkStyle.None); 
     label.GridTicks = (i == numOfIntervals ? GridTickTypes.None : GridTickTypes.All); 
     labels.Add(label); 
     pos += intervalSize; 
    } 

    axis.LabelStyle.Angle = angle; //Has no effect 
} 

ответ

0

После еще некоторых исследований (я проглядел теперь уже явный перебор «угол» ключевое слово) Я нашел решение моей проблемы. Оказывается, что настройки LabelStyle применимы только к CustomLabels на первом ярлыке, для получения дополнительной информации см. Следующую ссылку: CustomLabels Angle.

Я изменил код:

var label = new CustomLabel(pos - intervalOffset, pos + intervalOffset, convertValue(pos), labelRow: 0, markStyle: LabelMarkStyle.None); 
Смежные вопросы