当前位置: 首页>>代码示例>>C#>>正文


C# CurveList.Sort方法代码示例

本文整理汇总了C#中ZedGraph.CurveList.Sort方法的典型用法代码示例。如果您正苦于以下问题:C# CurveList.Sort方法的具体用法?C# CurveList.Sort怎么用?C# CurveList.Sort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ZedGraph.CurveList的用法示例。


在下文中一共展示了CurveList.Sort方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Draw

        /// <summary>
        /// Render all the <see cref="CurveItem"/> objects in the list to the
        /// specified <see cref="Graphics"/>
        /// device by calling the <see cref="CurveItem.Draw"/> member function of
        /// each <see cref="CurveItem"/> object.
        /// </summary>
        /// <param name="g">
        /// A graphic device object to be drawn into.  This is normally e.Graphics from the
        /// PaintEventArgs argument to the Paint() method.
        /// </param>
        /// <param name="pane">
        /// A reference to the <see cref="GraphPane"/> object that is the parent or
        /// owner of this object.
        /// </param>
        /// <param name="scaleFactor">
        /// The scaling factor to be used for rendering objects.  This is calculated and
        /// passed down by the parent <see cref="GraphPane"/> object using the
        /// <see cref="PaneBase.CalcScaleFactor"/> method, and is used to proportionally adjust
        /// font sizes, etc. according to the actual size of the graph.
        /// </param>
        public void Draw( Graphics g, GraphPane pane, float scaleFactor )
        {
            // Configure the accumulator for stacked bars
            //Bar.ResetBarStack();

            // Count the number of BarItems in the curvelist
            int pos = this.NumBars;

            // sorted overlay bars are a special case, since they are sorted independently at each
            // ordinal position.
            if ( pane._barSettings.Type == BarType.SortedOverlay )
            {
                // First, create a new curveList with references (not clones) of the curves
                CurveList tempList = new CurveList();
                foreach ( CurveItem curve in this )
                    if ( curve.IsBar )
                        tempList.Add( (CurveItem) curve );

                // Loop through the bars, graphing each ordinal position separately
                for ( int i=0; i<this.maxPts; i++ )
                {
                    // At each ordinal position, sort the curves according to the value axis value
                    tempList.Sort( pane._barSettings.Base == BarBase.X ? SortType.YValues : SortType.XValues, i );
                    // plot the bars for the current ordinal position, in sorted order
                    foreach ( BarItem barItem in tempList )
                        barItem.Bar.DrawSingleBar( g, pane, barItem,
                            ((BarItem)barItem).BaseAxis( pane ),
                            ((BarItem)barItem).ValueAxis( pane ),
                            0, i, ( (BarItem)barItem ).GetBarWidth( pane ), scaleFactor );
                }
            }

            // Loop for each curve in reverse order to pick up the remaining curves
            // The reverse order is done so that curves that are later in the list are plotted behind
            // curves that are earlier in the list

            for ( int i = this.Count - 1; i >= 0; i-- )
            {
                CurveItem curve = this[i];

                if ( curve.IsBar )
                    pos--;

                // Render the curve

                //	if it's a sorted overlay bar type, it's already been done above
                if ( !( curve.IsBar && pane._barSettings.Type == BarType.SortedOverlay ) )
                {
                    curve.Draw( g, pane, pos, scaleFactor );
                }
            }
        }
开发者ID:JohnChantzis,项目名称:bark_GUI,代码行数:72,代码来源:CurveList.cs

示例2: Draw

        /// <summary>
        /// Render all the <see cref="CurveItem"/> objects in the list to the
        /// specified <see cref="Graphics"/>
        /// device by calling the <see cref="CurveItem.Draw"/> member function of
        /// each <see cref="CurveItem"/> object.
        /// </summary>
        /// <param name="g">
        /// A graphic device object to be drawn into.  This is normally e.Graphics from the
        /// PaintEventArgs argument to the Paint() method.
        /// </param>
        /// <param name="pane">
        /// A reference to the <see cref="GraphPane"/> object that is the parent or
        /// owner of this object.
        /// </param>
        /// <param name="scaleFactor">
        /// The scaling factor to be used for rendering objects.  This is calculated and
        /// passed down by the parent <see cref="GraphPane"/> object using the
        /// <see cref="GraphPane.CalcScaleFactor"/> method, and is used to proportionally adjust
        /// font sizes, etc. according to the actual size of the graph.
        /// </param>
        public void Draw( Graphics g, GraphPane pane, double scaleFactor )
        {
            // Configure the accumulator for stacked bars
            //Bar.ResetBarStack();

            // Count the number of BarItems in the curvelist
            int pos = this.NumBars;

            if ( pane.BarType == BarType.SortedOverlay )
            {
                // First, create a new curveList with references (not clones) of the curves
                CurveList tempList = new CurveList();
                foreach ( CurveItem curve in this )
                    if ( curve.IsBar )
                        tempList.Add( (CurveItem) curve );

                for ( int i=0; i<this.maxPts; i++ )
                {
                    tempList.Sort( pane.BarBase == BarBase.X ? SortType.YValues : SortType.XValues, i );
                    foreach ( BarItem barItem in tempList )
                        barItem.Bar.DrawSingleBar( g, pane, barItem,
                            ((BarItem)barItem).BaseAxis(pane),
                            ((BarItem)barItem).ValueAxis(pane, barItem.IsY2Axis),
                            0, i, scaleFactor );
                }
            }

            //	Loop for each curve in reverse order to pick up the remaining bartypes
            for ( int i=this.Count-1; i>=0; i-- )
            {
                CurveItem curve = this[i];

                if ( curve.IsBar )
                    pos--;

                // Render the curve
                //	if	it's a bar type or a sorted overlay or a percentstacked bar, it's already been	done above
                if	( !(pane.BarType == BarType.SortedOverlay) || !curve.IsBar  )
                    curve.Draw( g, pane, pos, scaleFactor );
            }
        }
开发者ID:InsungChoi,项目名称:dddd,代码行数:61,代码来源:CurveList.cs


注:本文中的ZedGraph.CurveList.Sort方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。