當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。