Конфигурировать правильно колонны графика

У меня есть настольное приложение Windows типа Form в C#, который обладает контролем типа Chart.

Следующий код показывает настоящий график:

/// 
/// Establecer valores a la gráfica.
/// 
private void GenerarGrafica()
{
    // Valores de prueba.
    chart1.Series[0].Points.AddXY(0, 10);
    chart1.Series[0].Points.AddXY(1, 8);
    chart1.Series[0].Points.AddXY(2, 9);
    chart1.Series[0].Points.AddXY(3, 5);
    chart1.Series[0].Points.AddXY(4, 2);
    chart1.Series[0].Points.AddXY(5, 6);
}

И изображение показывает результаты:

Изображение 1:

Resultados de la gráfica

Каждая серия контроля Chart обладай Вашим цветом (который установлен автоматически компонентом).

Изменив index серий (такой как возможно оценивать в коде):

/// 
/// Establecer valores a la gráfica.
/// 
private void GenerarGrafica()
{
    // Valores de prueba.
    chart1.Series[0].Points.AddXY(0, 10);
    chart1.Series[1].Points.AddXY(1, 8);
    chart1.Series[2].Points.AddXY(2, 9);
    chart1.Series[3].Points.AddXY(3, 5);
    chart1.Series[4].Points.AddXY(4, 2);
    chart1.Series[5].Points.AddXY(5, 6);
}

Я получаю следующий результат:

Изображение 2:

Segundo resultado de la gráfica

У меня есть проблемы, чтобы конфигурировать ширину и цвет колонн графика.

Я попробовал различные конфигурации, чтобы создавать такие колонны графика как:

  • Создавать все такие колонны: chart1.Series[0].Points.AddXY(0, 10); оказанный, что все колонны объединены (без места между ними).
  • Добавлять фальшивую колонну, чтобы добавлять место между колоннами также как и появляется в этом ответе.
  • Этот ответ показывает, как устанавливать место между колоннами, но той же серии, и в моем особенном случае, мне нужно, чтобы каждая колонна обладала Вашей индивидуальной серией, так как так каждая колонна / серия обладает различным цветом.

Но попробовав и исследовав другие шрифты, мне не удалось получить желанные результаты.

Какова правильная конфигурация, которая должна осуществляться, чтобы получать колонны той же ширины, как появляется в Изображении 1, но с цветами Изображения 2?

6
задан 23.05.2017, 15:39
1 ответ

Ты должен создавать единственную серию (твоя первая попытка) и назначать цвет в каждую точку, или назначать палитру, персонализированную в серию.

Назначать цвет в каждую точку:

private void GenerarGrafica()
{
  // Colores de prueba
  Color[] colores = new Color[] { Color.Green, Color.Red, Color.Blue, Color.Orange, Color.Yellow, Color.Gold };
  // Valores de prueba.
  chart1.Series[0].Points.AddXY(0, 10);
  chart1.Series[0].Points.AddXY(1, 8);
  chart1.Series[0].Points.AddXY(2, 9);
  chart1.Series[0].Points.AddXY(3, 5);
  chart1.Series[0].Points.AddXY(4, 2);
  chart1.Series[0].Points.AddXY(5, 6);

  foreach (DataPoint point in chart1.Series.Points)
  {
    point.color = colores[series.Points.IndexOf(point)];
  }

}

Назначать Палитру, Персонализированную в Серию:

Другая форма состоит в том, чтобы назначать все цвета посредством существующей палитры или персонализированной в законченную серию:

private void GenerarGrafica()
{
  // Colores de prueba
  Color[] colores = new Color[] { Color.Green, Color.Red, Color.Blue, Color.Orange, Color.Yellow, Color.Gold };
  // Valores de prueba.
  chart1.Series[0].Points.AddXY(0, 10);
  chart1.Series[0].Points.AddXY(1, 8);
  chart1.Series[0].Points.AddXY(2, 9);
  chart1.Series[0].Points.AddXY(3, 5);
  chart1.Series[0].Points.AddXY(4, 2);
  chart1.Series[0].Points.AddXY(5, 6);

  chart1.Palette = ChartColorPalette.None; 
  chart1.PaletteCustomColors = colores;

}

, Если ademГЎs ты хочешь наладить ширину брусков (и раздвинутый между ними) пробуй устанавливая эту собственность:

chart1.Series[0]["PointWidth"] = "0.5"

Стоимость из-за недостатка - "0.8", если ты размещаешь "1" не habrГЎ пространство между брусками (ширина mГЎximo), и если ты размещаешь меньшее число disminuirГЎ ширина брусков.

я не имею в руку VS, чтобы пытаться cГіdigo, но оно должно функционировать.

с informaciГіn:

2
ответ дан 24.11.2019, 13:36
  • 1
    Спасибо за твой ответ. Эта быть и # 225; она и #250; ltima альтернатива, которую он будет созерцать, так как , хотя это не определит в моем вопросе informaci и # 243; n смоги меняться и относительно цветов быть должным и # 237; чтобы производить функциональность, чтобы санкционировать, что цвета для колонн не повторились. – Mauricio Arias Olave 25.08.2016, 20:00

Теги

Похожие вопросы