Страницы

Поиск по вопросам

среда, 12 июня 2019 г.

Куда пропали значения chart?

Есть буквы(слева в DGV). Я подгружаю в chart частоту букв в тексте, но у меня не вмещаются все подписи. Как уменьшить интервал или просто вернуть подписи? Кусок кода, отвечающий за загрузку в chart:
private void LoadGraph() {
chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedBar; var kek = hk.countDict.Keys.ToList(); kek.Sort(); foreach (var item in kek) { chart1.Series[0].Points.AddXY(item, hk.countDict[item]); } }


Ответ

Для того, чтобы отображались все метки, необходимо выставить значение интервала на нужной оси. Для графиков типа Bar в контроле Chart оси X и Y меняются местами, поэтому интервал нужно выставлять для оси X, если нужно видеть все подписи Bar-ам (по вертикальной оси).
Небольшой демонстрационный фрагмент ниже.
var rnd = new Random(); chart1.Series[0].ChartType = SeriesChartType.Bar; string labels = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; foreach(var c in labels) { chart1.Series[0].Points.AddXY(c.ToString(), rnd.Next(0, 30)); } chart1.ChartAreas[0].AxisX.Interval = 1;
Разумеется данные нужно подставить из вашего источника данных и оформить код как полагается, со всеми проверками на null и т.д.

Комментариев нет:

Отправить комментарий