Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Chart, свои подписи по оси X / 5 сообщений из 5, страница 1 из 1
26.06.2017, 12:47
    #39477635
nata44845
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Chart, свои подписи по оси X
Необходимо чтобы данные выводились по датам (линейная диаграмма), но в оси X кроме даты был подписан день недели (ПН, ВТ и т.д.), подозреваю, что все упирается в ChartAreas Axes CustomLabels, но что с ними дальше делать не знаю.

При добавлении Метки надписи по оси X пропадают вообще.
...
Рейтинг: 0 / 0
26.06.2017, 13:12
    #39477652
nata44845
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Chart, свои подписи по оси X
chPlan.Series[1].Points[0].AxisLabel = i.ToString("dd.MM.yyyy") + " " + Week[(int)i.DayOfWeek];

Week - массив с русскими названиями.

Вот такое (тестово для одной точки пока) получается для тех точек, которые проставлены.
Вопрос, как быть с метками, где не проставлена точка графика.
...
Рейтинг: 0 / 0
26.06.2017, 13:30
    #39477667
nata44845
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Chart, свои подписи по оси X
Пока вот такой костыль поставила, тип 3 диаграммы Line, цвет черный, сливается с нулем

for (DateTime i = dtpStart.Value; i <= dtpEnd.Value.AddDays(-1); i = i.AddDays(1))
{
chPlan.Series[2].Points.AddXY((DateTime)i, 0);
chPlan.Series[2].Points[chPlan.Series[2].Points.Count - 1].AxisLabel = i.ToString("dd.MM.yyyy") + " " + Week[(int)i.DayOfWeek];
}
...
Рейтинг: 0 / 0
26.06.2017, 14:03
    #39477701
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Chart, свои подписи по оси X
...
Рейтинг: 0 / 0
29.06.2017, 08:20
    #39479438
nata44845
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Chart, свои подписи по оси X
Shocker.Pro, Забыла

В общем костыль оставила, добавила еще чтобы дат внизу не было слишком много, если период большой
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            if ((dtpEnd.Value - dtpStart.Value).Days > 14)
                for (DateTime i = dtpStart.Value; i <= dtpEnd.Value; i = i.AddDays((dtpEnd.Value - dtpStart.Value).Days / 14))
                {
                    chPlan.Series[2].Points.AddXY((DateTime)i, 0);
                    chPlan.Series[2].Points[chPlan.Series[2].Points.Count - 1].AxisLabel = i.ToString("dd.MM.yyyy") + " " + Week[(int)i.DayOfWeek];
                }
            else
                for (DateTime i = dtpStart.Value; i <= dtpEnd.Value; i = i.AddDays(1))
                {
                    chPlan.Series[2].Points.AddXY((DateTime)i, 0);
                    chPlan.Series[2].Points[chPlan.Series[2].Points.Count - 1].AxisLabel = i.ToString("dd.MM.yyyy") + " " + Week[(int)i.DayOfWeek];
                }
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Chart, свои подписи по оси X / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]