旋转折线图以具有垂直连接线

时间:2015-11-05 16:04:04

标签: c# visual-studio charts

我需要创建一个折线图,在旋转时,如下图所示(图像由TaW)垂直连接点。创建一个常规的水平图表是明确的,但我无法找到一个可以执行此操作的属性。切换x和y值显然会保持连接方式,我可以以某种方式自行切换轴吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

SeriesChartType.Line的一个特别之处在于,您可以自由添加DataPoints,不仅可以添加任何Y值,还可以添加任何X值。

其他图表类型需要X-Values是不同的,但线条可以随意前后移动并允许重复...

这可让我们随意修改Points,但遗憾的是,您的要求并不明确。

你问'旋转图表'和'切换轴'。

现在,如果我们通过交换X值和Y值来切换轴,我们不仅旋转了图表,而且还沿着对角线镜像了它;蓝色系列是原始系列,橙色系列是交换x代表y的结果:

enter image description here

  chart1.Series.Clear();
  chart1.ChartAreas[0].AxisX.Interval = 2;
  Series S1 = chart1.Series.Add("S1");
  Series S2 = chart1.Series.Add("S2");
  S1.ChartType = SeriesChartType.Line;
  S2.ChartType = SeriesChartType.Line;

  Random R = new Random(42);

  for (int i = 0; i < 15; i++)
  {
        int v = R.Next(10);
        S1.Points.AddXY(i, v);
        S2.Points.AddXY(v, i);
  }

要旋转某个东西,我们需要一个角度,这里是90°或-90°,还有一个旋转中心,这里可能是原点(0,0)。

镜像包括旋转和翻转。摆脱翻转,我们可以扭转X轴:

chart1.ChartAreas[0].AxisX.IsReversed = true;

enter image description here

注意结果看起来就像第一个系列逆时针旋转90°一样。另请注意,x轴现在按预期向后计数。

如果你想让左边的Y轴,(旋转的图表看起来像什么!)那么可以使用original post中的这个翻转代码你向我们展示的形象来自:

   ChartArea CA = chart1.ChartAreas[0];
   CA.AxisY2.Enabled = AxisEnabled.True;
   CA.AxisY.Enabled = AxisEnabled.False;
   CA.AxisX.IsReversed = true;

enter image description here

这并不意味着X轴和Y轴真正切换,只是生成的图形看起来像..

如果这不是您的意思,请更清楚地解释一下自己!

特别注意,要“简单地”旋转原始蓝线而不是翻转和镜像,您需要知道旋转中心;测试你想要的东西试着画出来!!