• линию Немного рекламы

    Этот пример показывает как с помощью компонента ZedGraph рисовать пунктирные и штрихпунктирные линии, а также как использовать другие стили для линий.

    Все примеры объединены в одном solution для Visual Studio 2005 и написаны на языке C#, скачать их можно отсюда.

    Проект в примере - DashLine

    private double f (double x)
    {
        if (x == 0)
        {
            return 1;
        }
        return Math.Sin (x) / x;
    }
    private void DrawGraph ()
    {
        // Получим панель для рисования
        GraphPane pane = zedGraph.GraphPane;
        pane.CurveList.Clear ();
        // Нарисуем три кривые с разными стилями
        AddCurve1 (pane);
        AddCurve2 (pane);
        AddCurve3 (pane);
        // Вызываем метод AxisChange (), чтобы обновить данные об осях.
        // В противном случае на рисунке будет показана только часть графика,
        // которая умещается в интервалы по осям, установленные по умолчанию
        zedGraph.AxisChange ();
        // Обновляем график
        zedGraph.Invalidate ();
    }
    /// <summary>
    /// Нарисовать кривую в виде точек
    /// </summary>
    private void AddCurve1 (GraphPane pane)
    {
        PointPairList list = new PointPairList ();
        double xmin = -20;
        double xmax = 20;
        for (double x = xmin; x <= xmax; x += 0.1)
        {
            list.Add (x, f (x));
        }
        LineItem myCurve = pane.AddCurve ("Curve 1", list, Color.Blue, SymbolType.None);
        // Используем предустановленный стиль, рисующий кривую точками.
        // Идентификатор стиля определен в System.Drawing.Drawing2D.DashStyle.
        myCurve.Line.Style = DashStyle.Dot;
        // Укажем, что график должен быть сглажен,
        // иначе несплошные линии будут выглядеть неаккуратно.
        // Это происходит из-за того, что без использования сглаживания
        // ZedGraph будет каждый участок линии рисовать независимо от соседних.
        myCurve.Line.IsSmooth = true;
    }
    /// <summary>
    /// Нарисовать кривую в виде штрихпунктирной линии
    /// </summary>
    private void AddCurve2 (GraphPane pane)
    {
        PointPairList list = new PointPairList ();
        double xmin = -20;
        double xmax = 20;
        for (double x = xmin; x <= xmax; x += 0.1)
        {
            list.Add (x, f (2 x));
        }
        LineItem myCurve = pane.AddCurve ("Curve 2", list, Color.Black, SymbolType.None);
        // Используем предустановленный стиль, рисующий кривую в виде штрихпунктирной линии.
        myCurve.Line.Style = DashStyle.DashDot;
        // Укажем, что график должен быть сглажен
        myCurve.Line.IsSmooth = true;
    }
    /// <summary>
    /// Нарисовать кривую нестандартным стилем
    /// </summary>
    private void AddCurve3 (GraphPane pane)
    {
        PointPairList list = new PointPairList ();
        double xmin = -20;
        double xmax = 20;
        for (double x = xmin; x <= xmax; x += 0.1)
        {
            list.Add (x, f (0.1 x));
        }
        LineItem myCurve = pane.AddCurve ("Curve 3", list, Color.Brown, SymbolType.None);
        // Определим свой стиль рисования линии
        myCurve.Line.Style = DashStyle.Custom;
        // Длина пунктира будет 10 у.е. (1 у.е = 1/72 inch)
        myCurve.Line.DashOn = 10.0f;
        // Длина пропуска между пунктирами
        myCurve.Line.DashOff = 3.0f;
        // Укажем, что график должен быть сглажен
        myCurve.Line.IsSmooth = true;
    }
     

    Исходник

    Вернуться к остальным примерам

    Немного рекламы

     16.09.2011 - 13:40

    Аккуратно пользуйтесь myCurve.Line.IsSmooth = true;

    Аккуратно пользуйтесь

    myCurve.Line.IsSmooth = true;

    так как если он включен, то кривая становится похоже на сплайн, то есть сглаженая кривая, с небольшими артефактными закругления у опорных точек.
    Если вдруг кому-то необходимо будет видеть именно ломаную кривую, то отключайте это сглаживание.
    Для сглаживания линий графика можно использовать свойство myCurve.Line.IsAntiAlias, чтобы уменьшить ступенчатый эффект при отображении этих линий.

     17.11.2012 - 22:40

    пунктирные линии и т.д.

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


    Источник: http://jenyay.net/ZedGraph/DashLine


    Поделись с друзьями



    Рекомендуем посмотреть ещё:


    Закрыть ... [X]

    Как делать пунктирные линии. Самый простой способ: мы возьмем с вами «перо» Чашка в чашке вышивка

    Как нарисовать штрих пунктирную линию Как нарисовать штрих пунктирную линию Как нарисовать штрих пунктирную линию Как нарисовать штрих пунктирную линию Как нарисовать штрих пунктирную линию Как нарисовать штрих пунктирную линию Как нарисовать штрих пунктирную линию

    ШОКИРУЮЩИЕ НОВОСТИ