本文整理汇总了C#中Axis.FormatValue方法的典型用法代码示例。如果您正苦于以下问题:C# Axis.FormatValue方法的具体用法?C# Axis.FormatValue怎么用?C# Axis.FormatValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Axis
的用法示例。
在下文中一共展示了Axis.FormatValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Render
/// <summary>
/// Renders the specified axis.
/// </summary>
/// <param name="axis">The axis.</param>
/// <param name="pass">The render pass.</param>
/// <exception cref="System.InvalidOperationException">Magnitude axis not defined.</exception>
public override void Render(Axis axis, int pass)
{
base.Render(axis, pass);
var magnitudeAxis = this.Plot.DefaultMagnitudeAxis;
if (axis.RelatedAxis != null)
{
magnitudeAxis = axis.RelatedAxis as MagnitudeAxis;
}
if (magnitudeAxis == null)
{
throw new InvalidOperationException("Magnitude axis not defined.");
}
double eps = axis.MinorStep * 1e-3;
if (axis.ShowMinorTicks)
{
foreach (double value in this.MinorTickValues)
{
if (value < axis.ActualMinimum - eps || value > axis.ActualMaximum + eps)
{
continue;
}
if (this.MajorTickValues.Contains(value))
{
continue;
}
var pt = magnitudeAxis.Transform(magnitudeAxis.ActualMaximum, value, axis);
if (this.MinorPen != null)
{
this.rc.DrawLine(magnitudeAxis.MidPoint.x, magnitudeAxis.MidPoint.y, pt.x, pt.y, this.MinorPen, false);
}
}
}
var angleAxis = (AngleAxis)axis;
bool isFullCircle = Math.Abs(Math.Abs(angleAxis.EndAngle - angleAxis.StartAngle) - 360) < 1e-6;
foreach (double value in this.MajorTickValues)
{
// skip the last value (overlapping with the first)
if (isFullCircle && value > axis.ActualMaximum - eps)
{
continue;
}
if (value < axis.ActualMinimum - eps || value > axis.ActualMaximum + eps)
{
continue;
}
ScreenPoint pt = magnitudeAxis.Transform(magnitudeAxis.ActualMaximum, value, axis);
if (this.MajorPen != null)
{
this.rc.DrawLine(
magnitudeAxis.MidPoint.x, magnitudeAxis.MidPoint.y, pt.x, pt.y, this.MajorPen, false);
}
}
foreach (double value in this.MajorLabelValues)
{
// skip the last value (overlapping with the first)
if (isFullCircle && value > axis.ActualMaximum - eps)
{
continue;
}
var pt = magnitudeAxis.Transform(magnitudeAxis.ActualMaximum, value, axis);
double angle = Math.Atan2(pt.y - magnitudeAxis.MidPoint.y, pt.x - magnitudeAxis.MidPoint.x);
// add some margin
pt.x += Math.Cos(angle) * axis.AxisTickToLabelDistance;
pt.y += Math.Sin(angle) * axis.AxisTickToLabelDistance;
// Convert to degrees
angle *= 180 / Math.PI;
string text = axis.FormatValue(value);
var ha = HorizontalAlignment.Left;
var va = VerticalAlignment.Middle;
if (Math.Abs(Math.Abs(angle) - 90) < 10)
{
ha = HorizontalAlignment.Center;
va = angle > 90 ? VerticalAlignment.Top : VerticalAlignment.Bottom;
angle = 0;
}
//.........这里部分代码省略.........
示例2: RenderMajorItems
//.........这里部分代码省略.........
else
{
SnapTo(plotAreaTop, ref transformedValue);
SnapTo(plotAreaBottom, ref transformedValue);
}
var pt = new ScreenPoint();
var ha = HorizontalAlignment.Right;
var va = VerticalAlignment.Middle;
switch (axis.Position)
{
case AxisPosition.Left:
pt = new ScreenPoint(axisPosition + a1 - axis.AxisTickToLabelDistance, transformedValue);
this.GetRotatedAlignments(
axis.Angle, HorizontalAlignment.Right, VerticalAlignment.Middle, out ha, out va);
break;
case AxisPosition.Right:
pt = new ScreenPoint(axisPosition + a1 + axis.AxisTickToLabelDistance, transformedValue);
this.GetRotatedAlignments(
axis.Angle, HorizontalAlignment.Left, VerticalAlignment.Middle, out ha, out va);
break;
case AxisPosition.Top:
pt = new ScreenPoint(transformedValue, axisPosition + a1 - axis.AxisTickToLabelDistance);
this.GetRotatedAlignments(
axis.Angle, HorizontalAlignment.Center, VerticalAlignment.Bottom, out ha, out va);
break;
case AxisPosition.Bottom:
pt = new ScreenPoint(transformedValue, axisPosition + a1 + axis.AxisTickToLabelDistance);
this.GetRotatedAlignments(
axis.Angle, HorizontalAlignment.Center, VerticalAlignment.Top, out ha, out va);
break;
}
string text = axis.FormatValue(value);
this.rc.DrawMathText(
pt,
text,
axis.ActualTextColor,
axis.ActualFont,
axis.ActualFontSize,
axis.ActualFontWeight,
axis.Angle,
ha,
va);
}
// Draw the zero crossing line
if (axis.PositionAtZeroCrossing && this.ZeroPen != null)
{
double t0 = axis.Transform(0);
if (isHorizontal)
{
this.rc.DrawLine(t0, plotAreaTop, t0, plotAreaBottom, this.ZeroPen);
}
else
{
this.rc.DrawLine(plotAreaLeft, t0, plotAreaRight, t0, this.ZeroPen);
}
}
// Draw extra grid lines
if (axis.ExtraGridlines != null && this.ExtraPen != null)
{
foreach (double value in axis.ExtraGridlines)
{
if (!this.IsWithin(value, actualMinimum, actualMaximum))