ZedGraph - Как заставить первый и последний бары иметь метки оси X? - PullRequest
2 голосов
/ 17 июня 2010

Использование Zedgraph (asp.net). У меня есть гистограмма на основе даты и времени х точек. Первый бар не имеет метки. Первая метка находится на оси Y, соответствующей дню перед моей первой дневной точкой. Я не слишком обеспокоен этим. Однако вторая метка находится на втором баре. Мне нужен первый бар, чтобы иметь ярлык. У меня есть MyPane.XAxis.Scale.IsSkipFirstLabel = false.

Как заставить первый столбец иметь метку? Почему ZedGraph не ставит там ярлык?

Дополнительно:

Я хочу, чтобы «5/20» отображалось для первого бара вместо 5/19 под осью Y. У меня даже нет записи на 5/19.

альтернативный текст http://i50.tinypic.com/29ogx0n_th.gif

1 Ответ

2 голосов
/ 20 июня 2010

ОК, я не знаю, является ли это именно тем, что вам нужно, но:

Сначала настройте диапазоны шкалы вручную:

zg1.MasterPane[0].XAxis.Scale.Min = (double)new XDate(2010, 05, 19);
zg1.MasterPane[0].XAxis.Scale.Max = (double)new XDate(2010, 05,30);

Это установит диапазоны вашей шкалы.чтобы показать один день до и один день после ваших данных (это необходимо, чтобы иметь дополнительное пространство)

, затем установите шаг:

 zg1.MasterPane[0].XAxis.Scale.MajorStep = 1;
 zg1.MasterPane[0].XAxis.Scale.FontSpec.Angle = 90f;

Это приведет к тому, что у вас будет одна метка дляежедневно.Фактически, это единственный способ более или менее контролировать появляющиеся надписи.Я также изменил угол надписей (в нормальном положении он будет перекрываться).
Но он также будет создавать надписи для первого и последнего дополнительных дней (поля).Поэтому нам нужно отключить эти две записи (теперь это будет работать, потому что вы установили диапазоны вручную).

 zg1.MasterPane[0].XAxis.Scale.IsSkipFirstLabel = true;
 zg1.MasterPane[0].XAxis.Scale.IsSkipLastLabel = true;

Если вы просто хотите отключить эту первую и последнюю дополнительную метку и оставить остальные дляZedGraph, просто пропустите второй шаг.Но результат может быть иногда непредсказуемым.

...