本文整理汇总了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 );
}
}
}
示例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 );
}
}