当前位置: 首页 > 编程笔记 >

DevExpress之ChartControl实现时间轴实例

漆雕誉
2023-03-14
本文向大家介绍DevExpress之ChartControl实现时间轴实例,包括了DevExpress之ChartControl实现时间轴实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了DevExpress采用ChartControl实现时间轴的方法,分享给大家供大家参考。具体实现方法如下:

关键代码如下:

using System;

using System.Data;

using System.Windows.Forms;

using DevExpress.XtraCharts;

namespace DevExpressChart {     public partial class winDateTime : Form     {         public winDateTime()         {             InitializeComponent();         }

        private void winDateTime_Load(object sender, EventArgs e)         {             BuilderDevChart();         }         private DataTable CreateChartData()         {             DataTable table = new DataTable("Table1");             table.Columns.Add("Date", typeof(DateTime));             table.Columns.Add("Value", typeof(Int32));             table.Rows.Add(new object[] { new DateTime(2014, 5, 21), 10 });             table.Rows.Add(new object[] { new DateTime(2014, 6, 22), 20 });             table.Rows.Add(new object[] { new DateTime(2014, 7, 23), 40 });             table.Rows.Add(new object[] { new DateTime(2014, 8, 24), 20 });             table.Rows.Add(new object[] { new DateTime(2014, 9, 25), 30 });             return table;         }         private void BuilderDevChart()         {             Series _lineSeries = new Series("利润", ViewType.Line);             _lineSeries.ArgumentScaleType = ScaleType.DateTime;             _lineSeries.ArgumentDataMember = "Date";             _lineSeries.ValueDataMembers[0] = "Value";             _lineSeries.DataSource = CreateChartData();             chartControl1.Series.Add(_lineSeries);

            chartControl1.SetTimeAxisX(DateTimeMeasurementUnit.Month, DateTimeMeasurementUnit.Month, "yyyy-MM");             //---------------------------------------------------------------

            //_lineSeries.ValueScaleType = ScaleType.DateTime;             //_lineSeries.ArgumentDataMember = "Value";             //_lineSeries.ValueDataMembers[0] = "Date";             //_lineSeries.DataSource = CreateChartData();             //chartControl1.Series.Add(_lineSeries);

            //XYDiagram _diagram = (XYDiagram)chartControl1.Diagram;             //_diagram.AxisY.DateTimeMeasureUnit = DateTimeMeasurementUnit.Month;             //_diagram.AxisY.DateTimeGridAlignment = DateTimeMeasurementUnit.Month;             //_diagram.AxisY.DateTimeOptions.Format = DateTimeFormat.Custom;             //_diagram.AxisY.DateTimeOptions.FormatString = "MMMM";         }     } }

using DevExpress.Utils;

using DevExpress.XtraCharts;

namespace DevExpressChart {     public static class ChartUtils     {         /// <summary>         /// 增加数据筛选         /// </summary>         /// <param name="SeriesBase">Series</param>         /// <param name="columnName">列名称</param>         /// <param name="value">列名称对应的筛选数值</param>         /// <param name="dataFilterCondition">DataFilterCondition枚举</param>         public static void AddDataFilter(this SeriesBase series, string columnName, object value, DataFilterCondition dataFilterCondition)         {             series.DataFilters.Add(new DataFilter(columnName, value.GetType().FullName, dataFilterCondition, value));         }

        /// <summary>         /// 设置X轴Lable角度         /// </summary>         /// <param name="chart">ChartControl</param>         /// <param name="angle">角度</param>         public static void SetXLableAngle(this ChartControl chart, int angle)         {             XYDiagram _xyDiagram = (XYDiagram)chart.Diagram;             if (_xyDiagram != null)                 _xyDiagram.AxisX.Label.Angle = angle;         }         /// <summary>         ///  设置Y轴Lable角度         /// </summary>         /// <param name="chart">ChartControl</param>         /// <param name="angle">角度</param>         public static void SetYLableAngle(this ChartControl chart, int angle)         {             XYDiagram _xyDiagram = (XYDiagram)chart.Diagram;             _xyDiagram.AxisY.Label.Angle = angle;         }         /// <summary>         /// 设置ColorEach         /// </summary>         /// <param name="chart">ChartControl</param>         /// <param name="colorEach">是否设置成ColorEach</param>         public static void SetColorEach(this Series series, bool colorEach)         {             SeriesViewColorEachSupportBase colorEachView = (SeriesViewColorEachSupportBase)series.View;             if (colorEachView != null)             {                 colorEachView.ColorEach = colorEach;             }         }         /// <summary>         /// 设置是否显示十字标线         /// </summary>         /// <param name="chart">ChartControl</param>         /// <param name="crosshair">是否显示十字标线</param>         public static void SetCrosshair(this ChartControl chart, bool crosshair)         {             chart.CrosshairEnabled = crosshair ? DefaultBoolean.True : DefaultBoolean.False;             chart.CrosshairOptions.ShowArgumentLabels = crosshair;             chart.CrosshairOptions.ShowArgumentLine = crosshair;             chart.CrosshairOptions.ShowValueLabels = crosshair;             chart.CrosshairOptions.ShowValueLine = crosshair;         }         /// <summary>         /// 新增ChartControl的Title文字         /// </summary>         /// <param name="chart">ChartControl</param>         /// <param name="title">Title文字</param>         public static void AddTitle(this ChartControl chart, string title)         {             ChartTitle _title = new ChartTitle();             _title.Text = title;             chart.Titles.Add(_title);         }         /// <summary>         /// 饼状Series设置成百分比显示         /// </summary>         /// <param name="series">Series</param>         public static void SetPiePercentage(this Series series)         {             if (series.View is PieSeriesView)             {                 ((PiePointOptions)series.PointOptions).PercentOptions.ValueAsPercent = true;                 ((PiePointOptions)series.PointOptions).ValueNumericOptions.Format = NumericFormat.Percent;                 ((PiePointOptions)series.PointOptions).ValueNumericOptions.Precision = 0;             }         }         /// <summary>         /// 将X轴格式化成时间轴         /// </summary>         /// <param name="chart">ChartControl</param>         /// <param name="dateTimeMeasureUnit">X轴刻度单位</param>         /// <param name="dateTimeGridAlignment">X轴刻度间距的单位</param>         public static void SetTimeAxisX(this ChartControl chart, DateTimeMeasurementUnit dateTimeMeasureUnit, DateTimeMeasurementUnit dateTimeGridAlignment)         {             XYDiagram _diagram = (XYDiagram)chart.Diagram;             if (_diagram != null)             {                 _diagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Month;//X轴刻度单位                 _diagram.AxisX.DateTimeGridAlignment = DateTimeMeasurementUnit.Month;//X轴刻度间距             }         }         /// <summary>         /// 将X轴格式化成时间轴         /// </summary>         /// <param name="chart">ChartControl</param>         /// <param name="dateTimeMeasureUnit">X轴刻度单位</param>         /// <param name="dateTimeGridAlignment">X轴刻度间距的单位</param>         /// <param name="formatString">时间格式;eg:yyyy-MM</param>         public static void SetTimeAxisX(this ChartControl chart, DateTimeMeasurementUnit dateTimeMeasureUnit, DateTimeMeasurementUnit dateTimeGridAlignment, string formatString)         {             XYDiagram _diagram = (XYDiagram)chart.Diagram;             if (_diagram != null)             {                 _diagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Month;//X轴刻度单位                 _diagram.AxisX.DateTimeGridAlignment = DateTimeMeasurementUnit.Month;//X轴刻度间距                 _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;                 _diagram.AxisX.DateTimeOptions.FormatString = formatString;             }         }     } }


运行效果如下图所示:

希望本文所述对大家的C#程序设计有所帮助

 类似资料:
  • 本文向大家介绍DevExpress之ChartControl的SeriesTemplate实例,包括了DevExpress之ChartControl的SeriesTemplate实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了DevExpress之ChartControl的SeriesTemplate用法,分享给大家供大家参考。具体方法如下: 关键代码如下: 运行效果: 希望本文所述对

  • 本文向大家介绍DevExpress之ChartControl实现柱状图演示实例,包括了DevExpress之ChartControl实现柱状图演示实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了DevExpress中ChartControl实现柱状图演示的方法。分享给大家供大家参考。具体实现方法如下: 关键代码如下: 运行效果如下图所示: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍DevExpress之ChartControl用法实例总结,包括了DevExpress之ChartControl用法实例总结的使用技巧和注意事项,需要的朋友参考一下 DevExpress中的ChartControl顾名思义就是数据基于图表展示,其关键在于Series上的处理。本文实例展示了ChartControl的用法,具体内容如下: 主要功能代码部分如下: 代码使用示例如下: 上述

  • 本文向大家介绍DevExpress之ChartControl实现饼状图百分比演示实例,包括了DevExpress之ChartControl实现饼状图百分比演示实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了DevExpress中ChartControl实现饼状图百分比演示的方法。分享给大家供大家参考。具体实现方法如下: 关键代码如下: 运行效果如下图所示: 希望本文所述对大家的C#程序

  • 本文向大家介绍DevExpress之ChartControl创建Drill-Down样式的Title实例,包括了DevExpress之ChartControl创建Drill-Down样式的Title实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了DevExpress中ChartControl创建Drill-Down样式的Title实现方法。分享给大家供大家参考。具体实现方法如下: 关键

  • 本文向大家介绍Android实现列表时间轴,包括了Android实现列表时间轴的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android列表时间轴展示的具体代码,供大家参考,具体内容如下 实现的效果图如下: 实现的方式是利用recycleview的ItemDecoration这个抽象类,就是我们经常用来画分割线的的这个类, 具体如下 使用比较简单: 以上就是本文的全部内容,希望对