DEV控件之ChartControl用法 z

article/2025/11/5 16:08:43

一、总体概述

这个控件包含3层,最外面的chartControl层、中间的XYDiagram层、最里面的Series层。功能非常强大,但同时使用起来也相对复杂,需要各个层之间相互协调设置才能达到自己想要的效果。

二、chartControl层

像DEV的其它控件一样,这一层之相当于是一个壳子,我们平时在这里面设置的属性也不多。而且都是些常规属性,比如大小、停靠方式等等。

三、XYDiagram层

这一层就比较关键了,主要是涉及到XY轴的显示方式和滚动条显示等。并且坐标轴的显示方式和数据类型也有很大的关系,主要包括3种类型,数据类型是根据添加到Series中的数据类型决定的,主要属性是ArgumentScaleType。所以涉及到3种不同的设置方式。

  1. 当坐标轴的数据类型是数字时

  2. 当前数据类型是字符串时

其它设置同上,主要是要想出现滚动条,在设计面板中还不能实现,必须通过代码设置

DevExpress.XtraCharts.XYDiagram xyDiagram1 = (XYDiagram)this.chartControl1.Diagram;          

xyDiagram1.AxisX.Range.MaxValueInternal = 3; //这个属性在设计视图里面是看不到的,只有代码里面才可以设置。

xyDiagram1.AxisX.Range.MinValueInternal = -0.5D;

  3.当前数据类型是时间

AxisX ax = (XYDiagram)chartControl1.Diagram;
ax.GridSpacingAuto = false;
ax.DateTimeMeasureUnit = DateTimeMeasurementUnit.Minute;//这个可以根据你自己的情况设置
ax.DateTimeGridAlignment = DateTimeMeasurementUnit.Second; //这个是间隔单位
ax.GridSpacing = 10; // 每10秒为一个间隔。

三、series层

根据选择的类型图不一样,设置也不尽相同。

  1.棒状图

其实说起棒状图,很多人都在乎如何固定棒状图的宽度,其实它这里是不可以固定具体的像素宽度,只能根据左边轴当前的显示范围来确定显示的比例,比如 当前显示的范围是3,宽度比例是0.6,那么显示的就比较适中,如果是1,则显示的比较宽一点,而且间隔也变小了。主要宽度属性为:

BarSeriesView sv1 = (BarSeriesView)S1.View;

            sv1.BarWidth = 1;

四、相关代码实现

#region 仅供参考(不需要)
            //控制X、Y轴显示
            //XYDiagram diagram = (XYDiagram)chartControl.Diagram;
            //diagram.AxisX.Label.Staggered = true;
            //diagram.AxisY.Label.BeginText = "Axis value = ";
            //diagram.AxisY.Label.Angle = -30;
            //diagram.AxisY.Label.Antialiasing = true;

            //XYDiagram diagram = (XYDiagram)chartControl.Diagram;
            //diagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Second;
            //diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom; diagram.AxisX.DateTimeOptions.FormatString = "HH:mm:ss";

            //((XYDiagram)myChartControl.Diagram).AxisX.Interlaced = true;
            //((XYDiagram)myChartControl.Diagram).AxisX.GridSpacing = 10;
            //((XYDiagram)myChartControl.Diagram).AxisX.Label.Angle = -30;
            //((XYDiagram)myChartControl.Diagram).AxisX.Label.Antialiasing = true;
            //((XYDiagram)myChartControl.Diagram).AxisX.DateTimeOptions.Format = DateTimeFormat.MonthAndDay;

            XYDiagram xyDiagram1 = new XYDiagram();
            xyDiagram1.AxisX.Range.Auto = false; //要开启滚动条必须将其设置为false
            //xyDiagram1.AxisX.Range.MaxValueInternal = 30.5D > (cnt + 1) ? (cnt + 1) : 30.5D;//在不拉到滚动条的时候,X轴显示多个值,既固定的X轴长度。
            //xyDiagram1.AxisX.Range.MinValueInternal = -0.5D;
            xyDiagram1.AxisX.Range.ScrollingRange.Auto = false;
            xyDiagram1.AxisX.MinorCount = 9; //显示X轴间隔数量
            xyDiagram1.AxisX.Tickmarks.MinorVisible = true;//是否显示X轴间隔
            //xyDiagram1.AxisY.MinorCount = 1;//显示Y轴间隔数量
            //xyDiagram1.AxisY.Tickmarks.MinorVisible = true;//是否显示Y轴间隔

            //xyDiagram1.AxisX.Range.ScrollingRange.MaxValueSerializable = (cnt + 1).ToString();//整个X轴最多显示多多少个值
            // xyDiagram1.AxisX.Range.ScrollingRange.MinValueSerializable = "0";
            //xyDiagram1.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Second;
            //xyDiagram1.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
            //xyDiagram1.AxisX.DateTimeOptions.FormatString = "yyyy:MM:HH";
            //xyDiagram1.AxisX.Range.ScrollingRange.SideMarginsEnabled = true;//是否从X轴原点开始显示
            //xyDiagram1.AxisX.Range.SideMarginsEnabled = false;
            xyDiagram1.AxisX.VisibleInPanesSerializable = "-1";
            xyDiagram1.AxisY.NumericOptions.Format = DevExpress.XtraCharts.NumericFormat.Percent;//显示为百分数
            //xyDiagram1.AxisY.Range.Auto = false;
            xyDiagram1.AxisY.Range.MaxValueSerializable = "1.02";
            xyDiagram1.AxisY.Range.MinValueSerializable = "0.5";
            //xyDiagram1.AxisY.Range.ScrollingRange.SideMarginsEnabled = true;
            //xyDiagram1.AxisY.Range.SideMarginsEnabled = true;
            xyDiagram1.AxisY.VisibleInPanesSerializable = "-1";
            //xyDiagram1.EnableScrolling = true;//启用滚动条

            //获取Diagram必须在ChartControl中已经加入了Series之后
            //((XYDiagram)chartControl.Diagram).Rotated = false;
            #endregion

            //图标位置
            //myChartControl.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;
            //myChartControl.Legend.AlignmentVertical = LegendAlignmentVertical.Top;

            //ChartTitle chartTitle = new ChartTitle();
            //chartTitle.Text = this.Text;//标题内容
            //chartTitle.TextColor = System.Drawing.Color.Black;//字体颜色
            //chartTitle.Font = new Font("Tahoma", 8);//字体类型字号
            //chartTitle.Dock = ChartTitleDockStyle.Bottom;//标题对齐方式
            //chartTitle.Alignment = StringAlignment.Far;
            //myChartControl.Titles.Clear();//清理标题
            //myChartControl.Titles.Add(chartTitle);//加载标题


            //Series series1 = new Series(this.Text, ViewType.Spline);
            //series1.ArgumentScaleType = ScaleType.DateTime;//x轴类型
            //series1.ValueScaleType = ScaleType.Numerical;//y轴类型
            X轴的数据字段
            //series1.ArgumentDataMember = "StatisticsTime";
            Y轴的数据字段
            //series1.ValueDataMembers[0] = "StatisticsSum";
            定义线条上点的标识形状是否需要
            //((LineSeriesView)series1.View).LineMarkerOptions.Visible = false;
            定义线条上点的标识形状
            //((LineSeriesView)series1.View).LineMarkerOptions.Kind = MarkerKind.Circle;         
            不显示X、Y轴上面的交点的值
            //((PointSeriesLabel)series1.Label).Visible = false;
            线条的类型,虚线,实线
            //((LineSeriesView)series1.View).LineStyle.DashStyle = DashStyle.Solid

转载于:https://www.cnblogs.com/zeroone/p/4789978.html


http://chatgpt.dhexx.cn/article/f5Mj3OE0.shtml

相关文章

ChartControl控件绘制柱状图

1、新建一个DevExpress窗体(不要用WinForm窗体) 2、拖入一个chartcontrol控件 3、鼠标右键,点击run designer 添加两个series 4、代码设置 数据库表结构,我的想法是统计办事员和售货员的人数 数据库查询语句 select job,co…

C# WPF图表控件之ChartControl用法指南①

“ 引言部分,总领全篇文章的中心内容。” WPF的DevExpress ChartControl是一种功能强大的可视化工具,可帮助您将数据显示为二维或伪三维条形图、区域、线和许多其他形式。 01 — 将数据绑定到Chart Series Step 1. 创建新项目并添加图表 创建一个新的WPF…

chartControl控件常用属性总结

chartControl可以绘制常见的柱状图,折线图,饼图,在windows form 窗体应用程序中可以很方便的使用。下面总结一下如何使用chartControl控件绘图,以及一些常用的属性。 1.添加series DevExpress.XtraCharts.Series _serTimechartCo…

在C#中使用DevExpress中的ChartControl实现极坐标图

在C#中使用DevExpress中的ChartControl实现极坐标图 背景实现思路参考代码 背景 在工控软件的开发中很多业务场景就是使用图表控件展示设备和工艺参数。如下图案例: 实现思路 通常简单的做法是使用图表控件实现,常用的图表控件有开源的ZedGraph&…

DevExpress ChartControl ToolTipPointPattern和ToolTipSeriesPattern

原本只是想改一下鼠标放到曲线上的tip显示的小数点位数 然后就发现他这个属性还挺多,多到有点看不懂 然后就写了小demo测试 demo代码 // Create a series and add points to it. Series series1 new Series("Series 1", ViewType.Line);series1.Points…

Dev中ChartControl添加限定线

1.单击Y轴,设置属性 2.点击ConstantLines属性,打开"Constant Line Collection Editor"界面 3.点击Add添加线条 4.通过设置Appearance中的Color属性,设置显示颜色; 设置Behavior中的AxisValue,设置线段出现的位置 设置Misc中的Name,设置显示文本

chartControl生成时间轴动态曲线

首先将dev的chartControl拖到窗体中并设置父窗体停靠,然后手动添加一个seriies,如下图 初始化chartxiao using DevExpress.XtraEditors; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing…

DevExpress ChartControl 折线图简单使用

c# DevExpress ChartControl 折线图简单使用 DevExpress ChartControl折线图简单使用 DevExpress ChartControl折线图简单使用 1、界面放一个panel控件 2、定义一个DataTable 存储数据 3、获取数据后放在DataTable DataTable 定义: DataTable res_data new DataTa…

DevExpress之ChartControl用法

DevExpress中的ChartControl顾名思义就是数据基于图表展示&#xff0c;其关键在于Series上的处理。 using System; using System.Drawing; using DevExpress.XtraCharts;namespace DevExpressUtilHelpV3 { public static class ChartToolV3 { /// <summary> /// 创建Seri…

ChartControl控件绘制折线图

新建DevExpress窗体 SQLServer数据库中的数据如下&#xff1a; 拖入XtraTabControl控件&#xff0c;并修改Text属性 分别拖入GridControl控件和ChartControl控件 在GridControl控件中点击Run Designer,添加三列数据并分别设置FieldName(与数据库中对应) 在chartcontrol控件中…

DevExpress chartControl 数据绑定

DevExpress chartControl 数据绑定 chartControl 数据绑定ChartControl直接绑定Series 绑定例程附件 chartControl 数据绑定 这里介绍两种绑定方式ChartControl直接绑定以及ChartControl里的series绑定 ChartControl直接绑定 通过chartControl的DataSource属性直接bingdings…

DevExpress ChartControl 实现多轴

先看成图 如果是您需要的效果&#xff0c;请往后看&#xff1a; //曲线 Color[] Colorlist new Color[7] { Color.FromArgb(255, 79, 129, 189), Color.FromArgb(255, 192, 80, 77), Color.FromArgb(255, 155, 187, 89), Color.FromArgb(255, 128, 100, 162), Col…

chartControl

关键代码&#xff1a; /// <summary>/// 设置X轴Title/// </summary>/// <param name"chart">ChartControl</param>/// <param name"titleText">Title文字</param> /// <param name"titleColor">Titl…

Dev ChartControl

1、ChartControl 绘制曲线图&#xff0c;横坐标表示距离起点距离&#xff0c;纵坐标表示高程&#xff0c;均为double类型值&#xff0c;定义一个数据源的类。 /// <summary>/// 画图控件数据源/// </summary>public class ChartDatasource{/// <summary>/// …

ChartControl控件

ChartControl控件 ChartControl控件是一个可视化的图表控件&#xff0c;它支持你能想到的所有图形。用于对统计数据的可视化显示。最近我摸索了PivotGridControl控件与ChartControl控件的配合使用。本文简单的描述一下ChartControl控件。 常用的图表类型 通过代码设置图形 //条…

DevExpress中使用ChartControl绘制折线图和导出图表为Excel文件

一、实现效果 ①手动创建线性图表(添加图表标题) ②绘制单条线性图(可实现设置X和Y轴名称、绑定数据、缩放、复选框勾选是否显示、查看指定点信息) ③绘制多条线性图可实现设置X和Y轴名称、绑定数据、缩放、复选框勾选是否显示、查看指定点信息) ④导出图表为Excel 二、…

DEV控件之ChartControl用法

一、总体概述 这个控件包含3层&#xff0c;最外面的chartControl层、中间的XYDiagram层、最里面的Series层。功能非常强大&#xff0c;但同时使用起来也相对复杂&#xff0c;需要各个层之间相互协调设置才能达到自己想要的效果。 二、chartControl层 像DEV的其它控件一样&#…

C# DevExpress组件 - ChartControl图表控件

C# DevExpress组件 - ChartControl图表控件学习-整体感知&#xff08;一&#xff09; 1 逻辑框架图梳理 以逻辑框架图&#xff0c;进行代码验证 2 代码实现 2.1 实现内容 代码实现&#xff1a;添加一个ChartControl图表控件&#xff0c;并提供显示三个变量显示在三个位置 …

C# DevExpress ChartControl用法总结

C# DevExpress ChartControl用法总结 ₯近期使用C#DevExpress制作看板时用到过的ChartControl中的相关图表&#xff0c;在此做个记录&#xff08;未完&#xff09;。 1、Bar&#xff08;柱形图&#xff09; Series series1 new Series("日期", ViewType.Bar) …

DevExpress chartControl 基本结构说明

chartControl 使用教程及chart数据绑定 DevExpress说明ChartControl 结构series 主要Diagram 主要Chart TitlesLegendsAnnotations DevExpress说明 DevExpress是一个功能强大的跨平台控件库&#xff0c;支持winform、VB、WPF、UWP、asp等等&#xff0c; chart图是软件开发中常…