2016-08-08 2 views
1

В диаграммах C#, при определении:Make Chart AxisX этикетка Показать дни Начиная с понедельника

chartArea.AxisX.IntervalType = DateTimeIntervalType.Days; 
chartArea.AxisX.LabelStyle.Format = "ddd"; 

AxisX этикетка всегда начинается с воскресенья, независимо от FirstDayOfWeek, определенных в CultureInfo.

Есть ли способ сделать это с понедельника?

+0

?? Этикетка следует за данными. Как вы добавляете данные и какие они? – TaW

+0

Мои данные представляют собой набор чисел, взятых из DataView. Я повторяю через DataView и добавляю серию. По умолчанию метки осей будут 1 ... x. Если вы определили: 'chartArea.AxisX.IntervalType = DateTimeIntervalType.Days; chartArea.AxisX.LabelStyle.Format = "ddd"; ', тогда метки будут дни недели, но ** всегда ** начинаются с воскресенья, независимо от того, что я делаю. –

ответ

1

Если вы не установили LabelStyle.IntervalLabels, попробуйте следовать за DataPoints, удерживая доступное пространство. Когда их достаточно, они по умолчанию будут Воскресенье.

Вы можете изменить это, чтобы начать с фиксированного другого дня, установив LabelStyle.IntervalOffset; всегда начинать на понедельник добавить 1:

Axis ax = chart1.ChartAreas[0].AxisX; 

ax.LabelStyle.IntervalOffset = 1; 

, чтобы сделать их всегда начинаются на текущий день недели использования этого:

ax.LabelStyle.IntervalOffset = (int)DateTime.Now.DayOfWeek; 

В сочетании с этим

ax.LabelStyle.IntervalType = DateTimeIntervalType.Days; 
ax.LabelStyle.Interval = 7; 

будет отображаться только Labels с фиксированным рабочим днем.

Смежные вопросы