最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中使用DevExpress中的ChartControl實現(xiàn)極坐標圖的案例詳解

 更新時間:2022年02月21日 11:39:42   作者:CodingPioneer  
這篇文章主要介紹了在C#中使用DevExpress中的ChartControl實現(xiàn)極坐標圖,本案例是使用的是DevExpress 18.1.3版本,之前在14版本上也試過,但是有一個弊端就是實現(xiàn)極坐標圖的時候,第一個點和最后一個點總是自動多一條閉合線,會形成一個閉合的多邊形,因此升級了一下版

背景

在工控軟件的開發(fā)中很多業(yè)務(wù)場景就是使用圖表控件展示設(shè)備和工藝參數(shù)。如下圖案例:

在這里插入圖片描述

實現(xiàn)思路

通常簡單的做法是使用圖表控件實現(xiàn),常用的圖表控件有開源的ZedGraph,還有付費的TeeChart和DevExpress。常規(guī)的曲線圖、柱狀圖、餅圖的實現(xiàn),三個控件都可以很好的實現(xiàn),建議使用開源的ZedGraph。但是在實現(xiàn)雷達圖、極坐標圖等特定圖表時ZedGraph就不能支持,TeeChart用起來也不是那么完美,對比后發(fā)現(xiàn)DevExpress的ChartControl實現(xiàn)還是不錯的。

參考代碼

本案例是使用的是DevExpress 18.1.3版本,之前在14版本上也試過,但是有一個弊端就是實現(xiàn)極坐標圖的時候,第一個點和最后一個點總是自動多一條閉合線,會形成一個閉合的多邊形,因此升級了一下版本。在DevExpress中雷達圖和極坐標圖使用的是父子類的關(guān)系,很多屬性一致,為了可以自己定義圓盤上的刻度范圍,這是采用雷達圖實現(xiàn)自定義的極坐標圖。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using DevExpress.XtraCharts;

namespace WinTest
{
    public partial class Form1 : Form
    {
        private Stopwatch sw = new Stopwatch();
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            sw.Restart();

            int fontSize = 9;                   //字號
            int count = 1;                      //曲線數(shù)量
            int points = 8;                     //每條曲線的點數(shù)
            int angleMaxValue = 24;             //角度最大值
            int maxShowPints = 30;              //最大顯示的點數(shù)

            for (int i = 0; i < this.Controls.Count; i++)
            {
                if (this.Controls[i] is ChartControl)
                {
                    this.Controls.RemoveAt(i);
                    break;
                }
            }
            // Create a new chart.
            ChartControl RadarLineChart = new ChartControl();

            // Add a radar series to it.
            Series[] seriesArr = new Series[count];
            List<SeriesPoint>[] pintValuesList = new List<SeriesPoint>[count];
            for (int i = 0; i < seriesArr.Length; i++)
            {
                pintValuesList[i] = new List<SeriesPoint>();
                seriesArr[i] = new Series("Series " + i, ViewType.RadarLine);      //使用雷達折線圖實例化Series

                RadarLineSeriesView radLineSeriesView = (seriesArr[i].View as RadarLineSeriesView);
                radLineSeriesView.MarkerVisibility = DevExpress.Utils.DefaultBoolean.False;  //去掉線條中的圓點
                radLineSeriesView.Closed = false;           //線條不形成閉環(huán)
                
                RadarLineChart.Series.Add(seriesArr[i]);
            }

            // Flip the diagram (if necessary).
            RadarDiagram radarDiagram = RadarLineChart.Diagram as RadarDiagram;
            radarDiagram.StartAngleInDegrees = 0; //開始的角度
            radarDiagram.AxisX.WholeRange.MinValue = 0;         //設(shè)置角度范圍最小值
            radarDiagram.AxisX.WholeRange.MaxValue = 23;        //設(shè)置角度范圍最大值
            radarDiagram.RotationDirection = RadarDiagramRotationDirection.Clockwise; //數(shù)據(jù)是順時針還是逆時針
            

            // Add a title to the chart and hide the legend.
            ChartTitle chartTitle1 = new ChartTitle();
            chartTitle1.Text = "Radar Line Chart";
            RadarLineChart.Titles.Add(chartTitle1);
            RadarLineChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;       //隱藏圖例

            // Add the chart to the form.
            RadarLineChart.Dock = DockStyle.Fill;
            this.Controls.Add(RadarLineChart);

            // Populate the series with points.
            Random r = new Random((int)DateTime.Now.Ticks);
            r.NextDouble();
            for (int i = 0; i < seriesArr.Length; i++)
            {
                for (int k = 0; k < points; k++)
                {
                    double yValue = 100 * r.NextDouble();
                    pintValuesList[i].Add(new SeriesPoint(k * 24.0 / points, yValue));
                }
                seriesArr[i].Points.AddRange(pintValuesList[i].ToArray());
                seriesArr[i].LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;      //隱藏數(shù)據(jù)點的標簽顯示
            }
        }
    }
}

運行效果圖,如下:

在這里插入圖片描述

到此這篇關(guān)于在C#中使用DevExpress中的ChartControl實現(xiàn)極坐標圖的文章就介紹到這了,更多相關(guān)C# ChartControl極坐標圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Unity實現(xiàn)游戲傷害數(shù)字顯示HUD的方法

    Unity實現(xiàn)游戲傷害數(shù)字顯示HUD的方法

    游戲中收到傷害掉血,會有飄動的傷害數(shù)值,本文主要介紹Unity實現(xiàn)游戲傷害數(shù)字顯示HUD的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Winform控件Picture實現(xiàn)圖片拖拽顯示效果

    Winform控件Picture實現(xiàn)圖片拖拽顯示效果

    這篇文章主要為大家詳細介紹了Winform控件Picture實現(xiàn)圖片拖拽顯示效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • C# 創(chuàng)建MDB數(shù)據(jù)庫、并存放表格數(shù)據(jù)的案例

    C# 創(chuàng)建MDB數(shù)據(jù)庫、并存放表格數(shù)據(jù)的案例

    這篇文章主要介紹了C# 創(chuàng)建MDB數(shù)據(jù)庫、并存放表格數(shù)據(jù)的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C#開發(fā)WinForm項目實現(xiàn)HTML編輯器

    C#開發(fā)WinForm項目實現(xiàn)HTML編輯器

    這篇文章介紹了C#開發(fā)WinForm項目實現(xiàn)HTML編輯器的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Unity實現(xiàn)簡單虛擬搖桿

    Unity實現(xiàn)簡單虛擬搖桿

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)簡單虛擬搖桿,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#基于共享內(nèi)存實現(xiàn)跨進程隊列

    C#基于共享內(nèi)存實現(xiàn)跨進程隊列

    進程通信一般情況下比較少用,但是也有一些使用場景,有些做視頻傳輸?shù)乃坪鯐枚噙M程來實現(xiàn),還有在子進程中調(diào)用特定的庫來避免內(nèi)存泄漏,筆者最近也遇到了需要使用多進程的場景,本文介紹了C#基于共享內(nèi)存實現(xiàn)跨進程隊列,需要的朋友可以參考下
    2024-07-07
  • Winform實現(xiàn)抓取web頁面內(nèi)容的方法

    Winform實現(xiàn)抓取web頁面內(nèi)容的方法

    這篇文章主要介紹了Winform實現(xiàn)抓取web頁面內(nèi)容的方法,代碼只有短短幾行,但是功能很實用,需要的朋友可以參考下
    2014-09-09
  • 基于C#動態(tài)生成帶參數(shù)的小程序二維碼

    基于C#動態(tài)生成帶參數(shù)的小程序二維碼

    在微信小程序管理后臺,我們可以生成下載標準的小程序二維碼,提供主程序入口功能,在實際應(yīng)用開發(fā)中,小程序二維碼是可以攜帶參數(shù)的,可以動態(tài)進行生成,本文小編就給大家介紹一下如何基于C#動態(tài)生成帶參數(shù)的小程序二維碼,感興趣的朋友可以參考下
    2023-12-12
  • C# 泛型參數(shù)轉(zhuǎn)換

    C# 泛型參數(shù)轉(zhuǎn)換

    本文介紹了C# 泛型參數(shù)轉(zhuǎn)換的相關(guān)知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C# 基于消息發(fā)布訂閱模型的示例(下)

    C# 基于消息發(fā)布訂閱模型的示例(下)

    這篇文章主要介紹了C# 基于消息發(fā)布訂閱模型的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-03-03

最新評論

吉隆县| 中西区| 荔波县| 毕节市| 淅川县| 崇义县| 永平县| 高雄市| 赤城县| 鄂托克旗| 郓城县| 宁强县| 开远市| 镇远县| 阳朔县| 泽普县| 钟山县| 那坡县| 孟州市| 建始县| 唐海县| 民权县| 宁波市| 元阳县| 仙游县| 玛纳斯县| 易门县| 丰宁| 顺昌县| 崇左市| 高台县| 辽中县| 黄山市| 潼南县| 南涧| 襄樊市| 盐边县| 新宾| 长阳| 库尔勒市| 栾川县|