Как (если возможно) установить ориентацию 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
}