chengyafan001 发表于 2020-4-16 15:50:35

FlexChart如何对一个集合做标注

我想使用FlexChar,实现如下图红框中所示功能,红绿线是两组集合,要在坐标系中标注出来,请问采用哪种方式合适?

Richard.Ma 发表于 2020-4-17 09:25:33

你好,红绿线我看着应该是红绿色的柱子,这个建议可以用两组箱线图来做,只是线条部分数据和箱体一致就行
这个具体的demo你可以在ComponentOne Samples\WPF\v4.5.2\C1.WPF.FlexChart\CS\FlexChartExplorer找到


chengyafan001 发表于 2020-5-7 20:49:11

我使用 ChartType="Candlestick"来实现了我的功能,但是目前出现了个问题,就是我不想显示ToolTipContent,如何针对每个Series设置不同的ToolTipContent,可以吗?

Richard.Ma 发表于 2020-5-7 23:56:05

FlexChart目前只能对整个图标来统一设置ToolTip,因此没有办法每个Series设置不同的ToolTipContent
FlexChart提供了一个共享Tooltip的功能,在一个X点上可以显示多个Y值,不知道这个能否间接满足你的需求
https://www.grapecity.com/compon ... /SharedTooltip.html

chengyafan001 发表于 2020-5-8 10:28:45

还有个问题,我问下FlexChart线的粗细可以调整吗?

chengyafan001 发表于 2020-5-8 17:16:52

FlexChart的CustomPalette我绑定如下,但是不起作用
<x:Array x:Key="brush_Chromatogram" Type="Brush">
      <SolidColorBrush Color="Blue"/>
      <SolidColorBrush Color="Green" />
      <SolidColorBrush Color="Red" />
      <SolidColorBrush Color="Black" />
    </x:Array>

Richard.Ma 发表于 2020-5-9 16:03:57

本帖最后由 Richard.Ma 于 2020-5-9 16:33 编辑

非常抱歉,漏掉您这边的问题了,我正在验证是否可以设置柱形图线条粗细,然后给您回复
关于自定义Palette,需要设置flexChart.Palette = C1.Chart.Palette.Custom;这样就可以了


Richard.Ma 发表于 2020-5-9 17:28:08

有关Series的宽度,可以在每个Series中使用SymbolRendering事件来控制
注意,下面的例子中5即为我们需要的宽度,高度需要尽量设置大一些,否则可能会出现柱子下方绘制不到轴线

      private void Series_SymbolRendering(object sender, C1.WPF.Chart.RenderSymbolEventArgs e)
      {
            e.Engine.SetClipRect(new _Rect(e.Point.X,e.Point.Y,5,500));
      }

以下是Series设置后的效果



chengyafan001 发表于 2020-5-11 13:20:41

我要设置的不是柱形图线条粗细,而是曲线图线条的粗细,这个有办法设置吗?

Richard.Ma 发表于 2020-5-11 14:41:19

了解了,如果只是设置折线的粗细的话比较简单,只需要设置StrokeThickness即可

            <c1:Series Binding="Y" BindingX="X" SeriesName="Series 1"SymbolRendering="Series_SymbolRendering">
                <c1:Series.Style>
                  <c1:ChartStyle StrokeThickness="5"/>
                </c1:Series.Style>
                <c1:Series.ItemsSource>
                  <PointCollection>1,8 2,12 3,10 4,12 5,15</PointCollection>
                </c1:Series.ItemsSource>
            </c1:Series>

设置后的结果
页: [1]
查看完整版本: FlexChart如何对一个集合做标注