安心海叶 发表于 2015-10-27 11:13:00

C1Chart的Title问题

您好!我现在设置了Axis的位置为Inner,如何能让相应轴的Title显示在轴的右侧?

Alice 发表于 2015-10-27 16:10:00

回复 1楼安心海叶的帖子

感谢您的反馈。
轴的位置可以放在左侧或是右侧。
设置轴的Position属性为Far即可放到右侧。
详细的情参考产品博客:
http://blog.gcpowertools.com.cn/post/2015/05/20/C1ChartWPF_MultipleAxis.aspx

安心海叶 发表于 2015-10-27 16:19:00

回复 2楼Alice的帖子

如果设置Position属性为Inner,Title是不能放在右侧的,是吧?

Alice 发表于 2015-10-27 17:22:00

回复 3楼安心海叶的帖子

Position属性控制坐标轴的位置。
您是需要轴的位置和title即轴上的文字位置不一致么?
我从您字面的意思理解,是不行的。
如果您能提供一个图片说明您的需求,可以避免理解上的偏差。

安心海叶 发表于 2015-10-29 10:49:00

回复 4楼Alice的帖子

是的,我们需要当设置Chart的Position为Inner时,Title显示在轴的右侧,能实现吗?

Alice 发表于 2015-10-29 11:19:00

回复 5楼安心海叶的帖子


您的意思是按照如图所示的样子展示y轴和y轴的文字?

安心海叶 发表于 2015-10-29 15:21:00

回复 6楼Alice的帖子




是这种样式的,能实现吗?

Alice 发表于 2015-10-29 17:36:00

回复 7楼安心海叶的帖子

没有直接的接口可以设置,但在WPF平台下,由于Title是UIElement,所以就可以随意的定制。
只是这需要一定的代码量,比较复杂。
通过RotateTransform 让文字以Y轴的方向旋转180度,并且文字的方向移动。
代码参考:
<c1:Axis Position="Inner">
                            <c1:Axis.Title >
                              <TextBlockText="axi" Height="30"Width="30" FontSize="14">
                                    <TextBlock.RenderTransform>
                                        <TransformGroup>
                                          <ScaleTransform />
                                          <SkewTransform/>
                                          <RotateTransform CenterX="10" CenterY="-10" Angle="-180"/>
                                          <TranslateTransform/>
                                        </TransformGroup>
                                    </TextBlock.RenderTransform></TextBlock>
                            </c1:Axis.Title>
                        </c1:Axis>

但是这么做需要根据您的图表大小将RotateTransform的CenterX和CenterY做调整,并且在改变整个图表大小的时候,也是需要调整的。
此方案比较复杂,仅供参考。
页: [1]
查看完整版本: C1Chart的Title问题