Как сделать пунктирные или пунктирные столбцы для черно-белой печати в MSChart - PullRequest
0 голосов
/ 25 февраля 2019

Я делаю столбчатую диаграмму, и мне нужно различать столбцы в черно-белом формате.

Я знаю, как изменить цвета:

mychart.Series["MyName"].Color = Color.MidnightBlue;

Но я не знаю, какзаполните столбец пунктирной или пунктирной линией.

1 Ответ

0 голосов
/ 25 февраля 2019

Простое решение: Вы можете установить BackHatchStyle, который является ChartHatchStyle , например:

 yourSeries.BackHatchStyle = ChartHatchStyle.DarkHorizontal;

Эти шаблоны штриховки созданы именно для этогоработа.И в сочетании с настройками Color и BackSecondaryColor есть еще больше вариантов:

enter image description here

Столбчатая диаграмма с 4 стилями штриховки и одной пользовательской заливкойpattern.

Как видите, каждая точка данных может иметь свой собственный стиль .Обратите внимание, что на самом деле вы ограничены 54 элементами в перечислении и не можете изменить, например, масштаб.


Если этого недостаточно, вы можете создать мозаичное изображение и установите его как BackImage, как я сделал для 3-й точки.

Для этого вы можете либо использовать растровое изображение изНа диске или вы можете добавить изображение, созданное на лету, в коллекцию Images диаграммы.Тогда это будет NamedImage, а имя, которое вы зададите, будет тем, что вы используете.

Пример:

    Bitmap bmp = new Bitmap(10, 12);
    using (Graphics g = Graphics.FromImage(bmp))
    using (SolidBrush b1 = new SolidBrush(Color.ForestGreen))
    using (SolidBrush b2 = new SolidBrush(Color.Maroon))
    {
        g.Clear(Color.Silver);
        g.FillRectangle(b1, 0, 3, 10, 4);
        g.FillRectangle(b2, 0, 9, 10, 3);

        chart1.Images.Add(new NamedImage("tile3cols", bmp));
    }

Теперь вы можете использовать его:

chart1.Series[0].Points[2].BackImage = "tile3cols";

Вы можете даже комбинировать оба и использовать HatchBrush плюс масштабированное Graphics дляиспользуйте шаблоны штриховки в большем масштабе.

...