精华内容
下载资源
问答
  • Dev ChartControl

    2019-10-04 18:09:47
    1、ChartControl 绘制曲线图,横坐标表示距离起点距离,纵坐标表示高程,均为double类型值,定义一个数据源的类。 /// <summary> /// 画图控件数据源 /// </summary> public class ...

    1、ChartControl

    绘制曲线图,横坐标表示距离起点距离,纵坐标表示高程,均为double类型值,定义一个数据源的类。

     /// <summary>
        /// 画图控件数据源
        /// </summary>
        public class ChartDatasource
        {
            /// <summary>
            /// 当前位置高度
            /// </summary>
            public double Altitude { get; set; }
     
            /// <summary>
            /// 距起点距离
            /// </summary>
            public double Length { get; set; }
     
            /// <summary>
            /// 坡度
            /// </summary>
            public double Slope { get; set; }
     
        }

     

    绑定字段

                this.chartControl_Alt.Series[0].ArgumentDataMember = "Length";
                this.chartControl_Alt.Series[0].ValueDataMembers[0] = "Altitude";
     
                this.chartControl_Slope.Series[0].ArgumentDataMember = "Length";
                this.chartControl_Slope.Series[0].ValueDataMembers[0] = "Slope";

     

    构造一<List>,存储坐标点对,赋值即可,作为数据源。

                  var sourcelist=new List<ChartDatasource>();
                sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});
                sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});
                sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});
                sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});
                .....................
                chartControl_Alt.DataSource = sourcelist;
                chartControl_Slope.DataSource = sourcelist;

     

    显示效果如下图所示,一个数据类,存有三个字段,但绑定的字段不同,显示不同的结果,作为多个图表的数据源。

     

    2、一个图上多条曲线

    数据源类

    /// <summary>
        /// 画图控件数据源
        /// </summary>
        public class RChartDataSource
        {
            /// <summary>
            /// 点号
            /// </summary>
            public string ID
            { get; set; }
     
     
            /// <summary>
            /// 源高程值
            /// </summary>
            public double HeightY
            { get; set; }
     
            /// <summary>
            /// 对比高程值
            /// </summary>
            public double HeightD
            {
                get;
                set;
            }
        }

     

    之前横坐标为double类型,则控件自动按值大小显示在图表上,这里也可以用string类型为横坐标,设为ID,依此保存为1,2,3,4....

    字段绑定

                this.chartControl1.Series[0].ValueDataMembers[0] = "HeightY";
                this.chartControl1.Series[0].ArgumentDataMember = "ID";
     
                this.chartControl1.Series[1].ValueDataMembers[0] = "HeightD";
                this.chartControl1.Series[1].ArgumentDataMember = "ID";

    这里,横坐标均绑定为一个字段ID,纵坐标为各自的值。

                var sourcelist=new List<RChartDataSource>();
                sourcelist.Add(new RChartDataSource{ID=1,HeightY=35,HeightD=36});
                sourcelist.Add(new RChartDataSource{ID=2,HeightY=35,HeightD=36});
                sourcelist.Add(new RChartDataSource{ID=3,HeightY=35,HeightD=36});
                sourcelist.Add(new RChartDataSource{ID=4,HeightY=35,HeightD=36});
                sourcelist.Add(new RChartDataSource{ID=5,HeightY=35,HeightD=36});
                .....................
                chartControl1.DataSource = sourcelist;

    显示结果如下所示:

    若数据源列表发生变化,则可以重新赋值

    sourcelist.Add(new (new RChartDataSource{ID=,HeightY=,HeightD=});
    chartcontrol.DataSource=null; 
    chartcontrol.DataSource=sourcelist;

    3、其他

    a、我们在图表上移动或点击时,需要获得当前鼠标位置所对应的横纵坐标值,可以通过以下方式获得

    为ChartControl添加CustomDrawCrosshair事件,事件代码如下

            double Heng = 0;
            double Zong = 0;
            private void chartControl_Alt_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e)
            {
                if (chartControl_Alt.DataSource != null&&IsClick)
                {
                    var element = e.CrosshairElements;
                    if (element.Count() > 0)
                    Heng = element.ElementAt(0).SeriesPoint.NumericalArgument;
                    Zong = element.ElementAt(0).SeriesPoint.Values[0];
                }
            }

     

    CrosshairElements还有很多其他属性,可进一步研究,可打断点查看相应属性。这里提供一种并不完善的方式,需要进一步完善。 

     

    b、设置ConstanLine线位置

     var axis = chartControl_Alt.Diagram as DevExpress.XtraCharts.XYDiagram;
     axis.AxisX.ConstantLines[0].AxisValue = Heng;
     axis.AxisX.ConstantLines[0.Visible = true
     axis.AxisX.ConstantLines[1].AxisValue = 160;
     axis.AxisX.ConstantLines[1.Visible = true;

    //这里的两条线都是垂直于x轴的线,先可以通过代码添加,也可以提前在Run Designer里面添加好初始设置为不可见。

     

    Run Designer里面有很多属性可进行设置,对控件显示效果和显示功能进行设置。

    转载于:https://www.cnblogs.com/zwcoding/p/9269865.html

    展开全文
  • dev chartcontrol

    2015-12-24 14:20:44
    谁用户dev chatcontrol控件,demo里面的scrolling and zooming怎么实现的? [color=#FF0000]现在是能够实现缩放、滚轴[/color],但是不知道怎么实现缩放的时候【[color=#0000FF]动态[/color]X轴】。
  • Dev Chartcontrol控件是否可以设置饼图固定大小,不让它自己改变大小
  • WPF DEV ChartControl

    2018-12-21 15:05:06
    WPF 曲线图实现时间轴移动与回放,多曲线多线程刷新以及内存文件缓存1秒100个点位刷新
  • Dev ChartControl 柱状图

    2015-12-24 17:47:07
    用第三方DevChartcontrol实现的柱状图 每条柱子分两段显示 希望对新手有帮助.实际显示内容为每条线的每个工单的已生产数量和未生产数量的比例关系
  • DEV chartcontrol 3dPIE:因为做了一个3D的饼图,我想得到鼠标点击后的区域.以展示点击区域的数据.
  • DEV chartControl控件 编辑的(Bar)柱形图顶端显示数值。不废话,直接上图上代码 public void refurbish(string sql, string str) { DataTable dt = ProcSqlHelper.ExecuteDatatable(sql.ToString(), CommandType...

    DEV chartControl控件 编辑的(Bar)柱形图顶端显示数值。不废话,直接上图上代码

      public void refurbish(string sql, string str)
            {
                DataTable dt = ProcSqlHelper.ExecuteDatatable(sql.ToString(), CommandType.Text, new SqlParameter("@jsrq", str));
                gridControl1.DataSource = dt;
                gridView1.ExpandAllGroups();
                gridView1.BestFitColumns();

                chartControl1.DataSource = dt;
                chartControl1.Series.Clear();

                for (int i = 1; i < dt.Columns.Count; i++)
                {
                    // 柱状图里的第二柱 
                    //第一个参数 设置四个竖条的标注
                    Series Series1 = new Series(dt.Columns[i].ColumnName, ViewType.Bar);
                    Series1.DataSource = dt;
                    Series1.ArgumentScaleType = ScaleType.Qualitative;
                    Series1.ArgumentDataMember = "统计节点"; //设置公共的X轴值(刻度)

                    //设置 单个Series2 Y轴的(值)
                    //Series1.ValueDataMembers.AddRange(new string[] { "当日" }); //与下面那句意思是一样的
                    Series1.ValueDataMembers.AddRange(new string[] { dt.Columns[i].ColumnName });  //与上面那句意思是一样的
                    chartControl1.Series.Add(Series1);

                    chartControl1.CrosshairEnabled = true ? DefaultBoolean.True : DefaultBoolean.False;
                    chartControl1.CrosshairOptions.ShowArgumentLabels = true;
                    chartControl1.CrosshairOptions.ShowArgumentLine = true;
                    chartControl1.CrosshairOptions.ShowValueLabels = true;
                    chartControl1.CrosshairOptions.ShowValueLine = true;

                    //以下为实现柱形图顶端显示数值

                    DevExpress.XtraCharts.SideBySideBarSeriesLabel sideBySideBarSeriesLabel1 = new DevExpress.XtraCharts.SideBySideBarSeriesLabel();
                    sideBySideBarSeriesLabel1.Position = DevExpress.XtraCharts.BarSeriesLabelPosition.Top;
                    sideBySideBarSeriesLabel1.Font = new Font(sideBySideBarSeriesLabel1.Font.FontFamily, 12, sideBySideBarSeriesLabel1.Font.Style | FontStyle.Bold);  //设置字体大小粗细

                    //Series1.Label = sideBySideBarSeriesLabel1;
                    Series1.LabelsVisibility = DefaultBoolean.True;


                }
            }

     

    展开全文
  • dev ChartControl的最全使用方法 有横轴纵轴高亮显示 首先说明一下(DEV15.2) 第一步在界面上拖动一个ChartControl 数据横轴是时间(08:19:32) 纵轴是个float类型的数值 ///看一下效果 下面附上配置代码,本来...

    dev ChartControl的最全使用方法   有横轴纵轴高亮显示

    首先说明一下(DEV15.2)

    第一步在界面上拖动一个ChartControl

    数据横轴是时间(08:19:32)

    纵轴是个float类型的数值

    ///看一下效果



    下面附上配置代码,本来是界面设置的,但是为了共享给大家,我有手动敲了一遍

                Series series1 = new Series("RT", ViewType.Spline);//平滑的曲线
                //数据类型
                series1.ArgumentScaleType = ScaleType.DateTime;//X时间
                series1.ValueScaleType = ScaleType.Numerical;//Y数值
                //焦点显示
                series1.CrosshairLabelPattern = "{V:#.00}";//鼠标悬浮的时候的焦点显示的格式
                //绑定字段
                series1.ArgumentDataMember = "create_time";//绑定字段
                series1.ValueDataMembers[0] = "gyro_rlc";//绑定字段
                series1.View.Color = Color.Green;//设置颜色
                chartControl1.Series.Add(series1);//将Series添加进去




                //设置X轴Y轴的显示样式
                XYDiagram xyDia = chartControl1.Diagram as XYDiagram;
                xyDia.EnableAxisXScrolling = true;//滚动
                xyDia.EnableAxisYScrolling = true;
                xyDia.EnableAxisXZooming = true;//缩放
                xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;//x轴是扫描轴,时间类型
                xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Second;//测量单位是秒这样才能显示到秒
                xyDia.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Second;
                xyDia.AxisX.DateTimeScaleOptions.GridSpacing = 1;//
                xyDia.AxisX.DateTimeScaleOptions.AggregateFunction = AggregateFunction.Average;
                xyDia.AxisX.MinorCount = 1;
                xyDia.AxisX.WholeRange.MinValue = (dt.Rows[0])["create_time"];
                xyDia.AxisX.WholeRange.MaxValue = (dt.Rows[dt.Rows.Count - 1])["create_time"];
                xyDia.AxisX.VisualRange.MinValue = (dt.Rows[0])["create_time"];//这个玩意好像是设置滚动轴的
                xyDia.AxisX.VisualRange.MaxValue = (dt.Rows[1000])["create_time"];
                xyDia.AxisX.Label.Angle = -30;//字太长了,旋转一点点


                xyDia.AxisY.NumericScaleOptions.GridSpacing = 10;//Y轴只显示,设置步长度就行
                xyDia.AxisY.MinorCount = 1;
                xyDia.AxisY.WholeRange.MinValue = 0;
                xyDia.AxisY.WholeRange.MaxValue = 360;
                xyDia.AxisY.VisualRange.MinValue = 60;
                xyDia.AxisY.VisualRange.MaxValue = 120;


                chartControl1.CrosshairOptions.ValueLineColor = Color.Black;
                chartControl1.CrosshairOptions.ArgumentLineColor = Color.Black;
                chartControl1.CrosshairOptions.GroupHeaderPattern = "{A:d}";
                chartControl1.CrosshairOptions.ShowArgumentLabels = true;
                chartControl1.CrosshairOptions.ShowValueLine = true;
                //chartControl1.CrosshairOptions.CommonLabelPosition = new DevExpress.XtraCharts.CrosshairMousePosition();这个焦点显示的值得悬浮窗会跟着鼠标走

                chartControl1.CrosshairOptions.CommonLabelPosition = new DevExpress.XtraCharts.CrosshairFreePosition();//这个焦点显示的值得悬浮窗固定了



    展开全文
  • C# Dev chartControl的用法

    千次阅读 2017-08-15 14:32:06
    今天来简单介绍下这个chartControl1控件的用法。 private void initChart() { try { //清空图例 chartControl1.Series.Clear(); //清空标题

    今天来简单介绍下这个chartControl1控件的用法。

     

            private void initChart()
            {
                try
                {
                    //清空图例
                    chartControl1.Series.Clear();
                    //清空标题
                    chartControl1.Titles.Clear();
                    //添加标题
                    chartControl1.Titles.Add(new ChartTitle() { Text = "What Fuck" + "历史事件统计图" });   //chartControl的标题
    
                    double zc = 26.33d;      //这里zc,fzc 可以从数据库取数据。
                    double fzc = 73.67d;
                   Series series1 = new Series("历史事件正常率(单位:%)", DevExpress.XtraCharts.ViewType.Pie);   //设置图形
                    //显示历史事件正常比例
                    series1.Points.Add(new SeriesPoint("正常", zc));
                    series1.Points.Add(new SeriesPoint("不正常", fzc));
                    chartControl1.Series.Add(series1);
    
                    //设置显示正常和不正常 
                    series1.PointOptions.PointView = PointView.ArgumentAndValues;
                    series1.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
                    series1.PointOptions.ValueNumericOptions.Precision = 0;
    
                    ((PieSeriesLabel)series1.Label).ResolveOverlappingMode =
                        ResolveOverlappingMode.Default;
                }
    
                catch (Exception ex)
                {
                    MessageBox.Show("异常信息:" + ex);
                }
                finally
                {
                }
            }
    <img data-cke-saved-src="https://img-blog.csdn.net/20170815143109110?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjMxMjY1ODE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" src="https://img-blog.csdn.net/20170815143109110?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjMxMjY1ODE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    

    https://img-blog.csdn.net/20170815143109110?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjMxMjY1ODE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

     

     

    展开全文
  • dev ChartControl 备忘

    2014-11-26 14:05:00
    一个chartControl 里包括以个diagram(图表) diagram里可以设置 x-axis与y-axis ,另外还可以设置SecondaryXAxis与SecondaryYAxis,在Series属性里可以选择使用Secondary Axis 一个diagram里包括多少个Series,一个...
  • DEV版本 12.1。根据预先设定的数据动态展示柱状图和扇形图,柱状图有个特殊的地方就是每条柱子上面显示两段,例如:一个工单不同工序的良品和不良品数量,希望对大家有帮助
  • DevChartControl的颜色配置

    千次阅读 2018-07-11 11:17:22
    设置RadarArea类型雷达图的图形透明度,在程序中直接搜索时找不到Transparency属性,可修改程序为:...chartControl1.Series.add(series);若想调整雷达图的背景色和xy坐标轴的颜色标志,则可继续添...
  • dev ChartControl折线图,曲线图

    千次阅读 2020-04-23 16:29:02
    private void CreateChart(DataTable dt) { this.panel1.Controls.Clear(); ChartControl spineChart = new ChartControl(); #region Series //创建几个图形的...
  • 问题:在使用dev话折线图时,绑定的x轴应该以原点0为起始点,但是每次图形画出来以后,原点之前多出来一段刻度,x轴表示的是深度,-200显然是不合理的,即便只是显示在那里。这个问题让我很是费解。 下图为设计器...
  • Dev ChartControl 用代码控制显示

    千次阅读 2017-12-04 21:30:47
     <dxc:ChartControl Name="chartControl1" Margin="0,0,0,0">      </dxc:XYDiagram2D>  </dxc:ChartControl> 后台代码:  public PageCementQuality()  {  Initialize...
  • DEV ChartControl 图表设计 -- Line

    千次阅读 2017-04-22 16:00:27
    ChartControl myChartControl = new ChartControl();  //图标位置  myChartControl.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;  myChartControl
  • C# Dev chartControl 图表导出图片

    千次阅读 2017-08-16 09:39:08
    FolderBrowserDialog fbd = new FolderBrowserDialog();  //选择导出文件位置  if (fbd.ShowDialog() == DialogResult.OK) ... chartControl1.ExportToImage(fileName, ImageFormat.Png);  }
  • Dev ChartControl 温湿度折线图

    千次阅读 2016-12-05 14:46:13
     chartControl.SeriesTemplate.LabelsVisibility = DefaultBoolean.True; //显示标识框  for (var i = 0; i ; i++)  {  list[i].View.Color = ColorList[i];  CreateAxisY(list[i]);  } ...
  • devchartcontrol控件其实是很强大的,可以根据数据库直接绑定DataSouce,也可以自己为它的每一个系列添加坐标点,即一个包含横坐标和纵坐标的SeriesPoint,这些都是可以通过这个控件自带的属性和方法解决的,难点...
  • ![图片说明](https://img-ask.csdn.net/upload/201506/09/1433812565_149062.png) 右侧横线是x=2.5的直线应该在3.5左边,但是显示在了最右边
  • 无聊自做 源码齐全 可参照注释自行修改为自己需要的样式
  • his.chartIRC_RATES.MouseMove += new MouseEventHandler(chartIRC_RATES_MouseMove); ToolTipController toolTipController = new ToolTipController(); /// <summary> /// 鼠标显示节...
  • dev chartControl控件画散点图,X轴为时间,Y轴为数值,现在的问题是数据一多X 轴显示的时间就密密麻麻,怎样能够使数据多的时候,X轴标签显示的间隔大一些,不是每个点对应的X轴值都显示在X轴坐标上。
  • 在捕chartcontrol的mousemove事件中, 通过chartcontrol的calchitinfo(e.location),来寻找当前的series, 结果calchitinfo(e.location).seriespoint是nothing,什么原因呢? 很怪怪的,同一软件中,我另个一个...
  • // Add the Information. this .chartControlParameter.ObjectHotTracked += (s, a) => ...Dev chartControl添加提示层信息 转载于:https://www.cnblogs.com/hongjiumu/archive/2013/03/18/2966904.html
  • //创建图形标题,ViewType是ChartControl图表类型的一个枚举器,其中Bar代表柱状图类型,通过修改ViewType的值可以实现跟换表格类型 Series series = new Series(null, ViewType.Bar); SeriesPoint point; ...
  • BarSideBySideSeries2D bar = new BarSideBySideSeries2D(); bar.DisplayName = "Series 1"; bar.Points.Add(new SeriesPoint("2015", 121)); bar.Points.Add(new SeriesPoint("2016", 232));...
  • BarSideBySideSeries2D bar = new BarSideBySideSeries2D(); bar.DisplayName = "Series 1"; bar.Points.Add(new SeriesPoint("2015", 121)); bar.Points.Add(new SeriesPoint("2016", 232));...

空空如也

空空如也

1 2 3 4 5 6
收藏数 120
精华内容 48
关键字:

devchartcontrol