WPF DevExpress Chart控件多Y轴,指定数据参考的Y轴

当Chart中有两个及以上的Y轴时,我们就要指明图表中的柱子或折线对应的是哪个Y轴了,这时候需要指明柱子或者折线的dxc:XYDiagram2D.SeriesAxisY属性,来设置对应的Y轴(dxc:XYDiagram2D.SeriesAxisY="{Binding ElementName=y2}"),其中Binding的ElementName就是需要对应的Y轴的Name(即这里的y2),界面代码如下:

<dxc:ChartControl  DataSource="{Binding SaleAmountAnalysisList}">
            <dxc:XYDiagram2D x:Name="diagram1" SeriesDataMember="Gross">
                <dxc:XYDiagram2D.SecondaryAxesY>
                    <dxc:SecondaryAxisY2D x:Name="y2">
                        <dxc:SecondaryAxisY2D.Title>
                            <dxc:AxisTitle Content="单位(万)"></dxc:AxisTitle>
                        </dxc:SecondaryAxisY2D.Title>
                    </dxc:SecondaryAxisY2D>
                </dxc:XYDiagram2D.SecondaryAxesY>
                <dxc:XYDiagram2D.AxisY>
                    <dxc:AxisY2D x:Name="firstY">
                        <dxc:AxisY2D.Title>
                            <dxc:AxisTitle Content="单位(千)" />
                        </dxc:AxisY2D.Title>
                    </dxc:AxisY2D>
                </dxc:XYDiagram2D.AxisY>
                <dxc:XYDiagram2D.AxisX>
                    <dxc:AxisX2D />
                </dxc:XYDiagram2D.AxisX>
                <!--默认情况下都是参考的左边的Y轴-->
                <!--销售提成-->
                <dxc:BarSideBySideSeries2D LabelsVisibility="true" ArgumentDataMember="Name" ValueDataMember="Gross">
                    </dxc:BarSideBySideSeries2D>
                <!--单均毛利-->
                <dxc:BarSideBySideSeries2D LabelsVisibility="true" ArgumentDataMember="Name" ValueDataMember="AveGross">
                    </dxc:BarSideBySideSeries2D>
                <!--贡献毛利润,通过设置LineSeries2D的dxc:XYDiagram2D.SeriesAxisY来指定该折线是参考右边的Y轴的-->
                <dxc:LineSeries2D LabelsVisibility="True" dxc:XYDiagram2D.SeriesAxisY="{Binding ElementName=y2}" ArgumentDataMember="Name" ValueDataMember="Royalty">
                    </dxc:LineSeries2D>
            </dxc:XYDiagram2D>
        </dxc:ChartControl>

通过上面代码的绑定方式的结果如下图所示:

时间: 2024-10-06 18:23:57

WPF DevExpress Chart控件多Y轴,指定数据参考的Y轴的相关文章

C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

原文有备份,如有错误和需要改进的地方,请不吝指正会继续修改的 8个月没写博客了- -,一来是有不想继续干开发的想法,二来是赖的写,三来还是不想总结.所以为了继续坚持自己的开发和总结的信念,总结一下C# chart控件的一些基本属性,由于属性太多了,一时半会儿写不完,以后继续补充,这里总结重要的常用的属性 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可以看到一个chart可以绘制多个ChartArea,每个ChartArea都可以绘制多条Series

WinForm Chart控件使用记录(由于制作饼装,柱状,折线图)

由于公司的winform项目需要用到Chart图表,抽空研究了一下,特地发上来给大家做个参考,就目前而言用到的属性说明都做了注释: 主要用到Chart控件图表区域的属性有五个属性 Annotations 批注集合(我没怎么用到,但是配置的话会在图标区域出现一些可以备注的东西吧) ChartAreas 图表区属性:主要设置图标数据的背景,比如3D或者隐藏还是显示横纵轴交叉线,分块颜色显示等 Lengends 图表图例集合 主要设置图表边说明的一些东西,这次项目没什么用到,但是觉得这个基本没啥用,有

C# chart控件绘制曲线

在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你所需要的曲线图.柱状图什么的了. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.C

使用Chart控件进行实时监控

Chart作为微软提供绘制图表的控件,在刚开始使用时非常的迷茫,因为功能强大,涉及到的知识多, 一开始难以接收过来,但后天经过查找资料,耐心学习,终于还是有了一定的收获. Chart相当于一个大的图纸,可以包含很多小的图纸ChartArea,一个ChartArea可以包含很多的Series, Series即Point,画在ChartArea上的数据. 主要的思想就是添加Points的同时改变X轴的显示范围,以此来达到动态显示的目的. 代码解析: Chart的相关设置 因为Chart控件是直接托入

Winform Chart控件绘制阴影区域

先来看看效果 公司电力项目需要绘制这种工业图表,之前同事用Series绘制的 有点麻烦 需要计算起始点位置,后来我发现Chart控件本来就提供了这种阴影属性,简单方便 直接上代码 private void InitChart() { ChartArea chartArea2 = new ChartArea(); chartArea2.AxisX.Minimum = 10; chartArea2.AxisX.Maximum = 100; chartArea2.AxisX.Interval = 10

VS2010 Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)

步骤如下: 1. Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)" title="VS2010 Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)" action-data="http%3A%2F%2Fs8.sinaimg.cn%2Fmw690%2F6988593etx6DhZWSOATc7%26690" action-type="show-slide" style=&

c# chart控件添加边界值线条以及扩展性功能

最近一致在开发能源平台,平台中很多能耗数据都是通过使用微软的chart控件进行图形呈现的.考虑到要给用户更为直观的呈现效果,需要对原有控件的功能进行扩展.微软chart控件没有第三方样chart样式炫酷,但是胜在可定制性强,中文手册详细,很多效果能够自己写出来. 主要实现功能:1.最大值,最小值,平均值展示   2.鼠标移动到数据点绘制竖线,用tooltip的方式展示数据 最终呈现效果如图: 解决方案: (1)最大值,最小值,平均值呈现 之前在网上找了好久都没有想要的效果,第三方控件往往都能直接

Chart控件使用初步

学习了Chart控件的初步使用方法,生成柱形图和饼图.    <asp:Chart ID="Chart1" runat="server" Width="553px" Height="403px">             <Series>                 <asp:Series LegendText="得票数" Name="Series1" 

WPF多线程访问控件

大家知道WPF中多线程访问UI控件时会提示UI线程的数据不能直接被其他线程访问或者修改,该怎样来做呢? 分下面两种情况 1.WinForm程序 1 2 1)第一种方法,使用委托: 3 private delegate void SetTextCallback(string text); 4 private void SetText(string text) 5 { 6 // InvokeRequired需要比较调用线程ID和创建线程ID 7 // 如果它们不相同则返回true 8 if (thi