【问题标题】:Nevron BarChart with DateTimeScaleConfigurator weired series plotting?带有日期时间刻度配置器的 Nevron 条形图奇怪的系列绘图?
【发布时间】:2012-06-03 10:48:34
【问题描述】:

我在应用程序中使用 Nevron Charting Control ver.11.1.17.12。我在使用DateTimeScaleConfigurator 正确绘制图表时遇到问题。以下是以下问题:

  1. 如果系列计数增加,系列栏会相互重叠。
  2. 系列脱离轴心线。
  3. X Axis Scale 自动添加上一年December 和下一年Jan 在Surface Chart 的情况下导致图表有空白区域。

//编码sn-p绘制条形图系列

NBarSeries bar = new NBarSeries();
bar.UniqueId = new Guid(outputVariable.UniqueId);
bar.Name = outputVariable.LegendText;
chart.Series.Add(bar);
bar.HasBottomEdge = false;
bar.MultiBarMode = chart.Series.Count == 1 ? MultiBarMode.Series : MultiBarMode.Clustered;                   
// bar.InflateMargins = true;
bar.UseZValues = false;

indexOfSeries = chart.Series.IndexOf(bar);
ConfigureChartSeries(bar, indexOfSeries, outputVariable);
SetSeriesAxisInformation(bar, outputVariable.Unit);
bar.UseXValues = true;
foreach (DataRow row in seriesDataTable.Rows)
{
   bar.XValues.Add(Convert.ToDateTime(row["TimeStamp"]).ToOADate());
}

代码 sn-p 添加曲面图系列

chart.Enable3D = true;
 chart.BoundsMode = BoundsMode.Stretch;
 (chart as NCartesianChart).Fit3DAxisContent = true;               
 chart.Projection.SetPredefinedProjection(PredefinedProjection.OrthogonalTop);
 chart.LightModel.EnableLighting = false;                   
 chart.Wall(ChartWallType.Back).Visible = false;
 chart.Wall(ChartWallType.Left).Visible = false;
 chart.Wall(ChartWallType.Floor).Visible = false;
 // setup Y axis
 chart.Axis(StandardAxis.PrimaryY).Visible = false;                
 // setup Z axis
 NAxis axisZ = chart.Axis(StandardAxis.Depth);
 axisZ.Anchor = new NDockAxisAnchor(AxisDockZone.TopLeft);
 NLinearScaleConfigurator scaleZ = new NLinearScaleConfigurator();
 scaleZ.InnerMajorTickStyle.Visible = false;
 scaleZ.MajorGridStyle.ShowAtWalls = new ChartWallType[0];
 scaleZ.RoundToTickMin = false;
 scaleZ.RoundToTickMax = false;
 axisZ.ScaleConfigurator = scaleZ;
 axisZ.Visible = true;

 // add a surface series
 NGridSurfaceSeries surface = new NGridSurfaceSeries();
 surface.UniqueId = new Guid(outputVariable.UniqueId);
 surface.Name = outputVariable.LegendText;
 chart.Series.Add(surface);
 surface.Legend.Mode = SeriesLegendMode.SeriesLogic;
 surface.ValueFormatter = new NNumericValueFormatter("0.0");
 surface.FillMode = SurfaceFillMode.Zone;
 surface.FrameMode = SurfaceFrameMode.Contour;
 surface.ShadingMode = ShadingMode.Flat;
 surface.DrawFlat = true;
 // Already set this property to false and working in other chart.
 surface.InflateMargins = false;                    
 surface.FrameColorMode = SurfaceFrameColorMode.Zone;
 surface.SmoothPalette = true;
 surface.Legend.Format = "<zone_value>";
 surface.FillMode = SurfaceFillMode.Zone;
 surface.FrameMode = SurfaceFrameMode.Contour;
 CreateSurfaceSeries(outputVariable, surface);
 chartControl.Refresh();

还有ScaleConfigurator的配置

chartPrimaryXAxis = chart.Axis(StandardAxis.PrimaryX);
// X Axis Configuration
dateTimeScale = new NDateTimeScaleConfigurator();
dateTimeScale.Title.Text = string.Empty;
dateTimeScale.LabelStyle.Angle = new NScaleLabelAngle(ScaleLabelAngleMode.Scale, 90);
dateTimeScale.LabelStyle.ContentAlignment = ContentAlignment.MiddleLeft;
dateTimeScale.LabelStyle.TextStyle.FontStyle = new NFontStyle("Times New Roman", 6);
dateTimeScale.LabelFitModes = new LabelFitMode[] { LabelFitMode.AutoScale };
chartPrimaryXAxis.ScaleConfigurator = dateTimeScale;
chartPrimaryXAxis.ScrollBar.ResetButton.Visible = true;
chartPrimaryXAxis.ScrollBar.ShowSliders = true;
dateTimeScale.EnableUnitSensitiveFormatting = true;

这是生成的输出:

任何关于这个问题的想法将不胜感激。

提前致谢。

【问题讨论】:

    标签: winforms charts nevron


    【解决方案1】:

    如果系列数量增加,系列栏会相互重叠。
    &

    系列栏脱离轴线。

    答案:当您使用分类数据时,请使用NOrdinalScaleConfigurator 而不是NDateTimeScaleConfigurator。它不会解决问题,将系列栏放在刻度的中心,并根据图表大小自动调整它们的大小。

    X Axis Scale 自动添加上一年 12 月和下一年 Jan 在比例尺中导致图表有空白区域,以防万一 曲面图。

    答案:DateTimeScaleConfigurator 的以下属性设置为 false 以避免此类行为。

     dateTimeScale.RoundToTickMax = false;
     dateTimeScale.RoundToTickMin = false;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-24
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 2020-12-01
      相关资源
      最近更新 更多