上位机动态图表

目录

一 设计原型

二 后台源码


一 设计原型

二 后台源码

using Sunny.UI;

namespace 动态图表
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 300; i++)
            {
                string code = new Random().Next(90000, 45345345).ToString();
                string weight = new Random().Next(40, 100).ToString() + "kg";
                string C = new Random().Next(400, 1000).ToString() + "kg";
                string K = new Random().Next(800, 1200).ToString() + "mm";
                string G = new Random().Next(100, 120).ToString() + "mm";
                string X = new Random().Next(10, 120).ToString();
                string Y = new Random().Next(50, 120).ToString();
                string Z = new Random().Next(80, 120).ToString();
                string R = "OK";
                string dt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                uiDataGridView1.Rows.Add(code, weight, C, K, G, X, Y, Z, dt, R);


                // 配置参数
                var option = new UIBarOption();
                // 配置标题
                option.Title = new UITitle();
                // 主标题
                option.Title.Text = "数据变化";
                // 副标题
                option.Title.SubText = "实时数据";

                // 设置图例
                option.Legend = new UILegend();
                // 图例水平布局
                option.Legend.Orient = UIOrient.Horizontal;
                // 图例放置在左上角
                option.Legend.Top = UITopAlignment.Top;
                option.Legend.Left = UILeftAlignment.Left;
                // 两个图例分别是Bar1和Bar2
                option.Legend.AddData("数据");
                option.Legend.AddData("时间");

                // 设置系列
                UIBarSeries series = new UIBarSeries();
                // 第一系列Bar1
                series.Name = "数据";
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                series.AddData(new Random().Next(10, 50));
                option.Series.Add(series);

                // 设置第二系列Bar2
                series = new UIBarSeries();
                series.Name = "时间";
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                series.AddData(new Random().Next(30, 50));
                option.Series.Add(series);

                // 设置横坐标内容
                // 第一系列和第二系列的元素交织分布
                // 所以Mon是指第一和二系列的第一个元素的横坐标
                // Tue指第一和二系列的第二个元素的横坐标
                option.XAxis.Data.Add("条码");
                option.XAxis.Data.Add("重量");
                option.XAxis.Data.Add("长度");
                option.XAxis.Data.Add("宽度");
                option.XAxis.Data.Add("高度");
                option.XAxis.Data.Add("X");
                option.XAxis.Data.Add("Y");
                option.XAxis.Data.Add("Z");
                option.XAxis.Data.Add("总结果");
                option.XAxis.Data.Add("时间");

                // 辅助ToolTip是否可见
                option.ToolTip.Visible = true;
                // Y轴的刻度
                option.YAxis.Scale = true;
                // XY轴的单位
                option.XAxis.Name = "日期";
                option.YAxis.Name = "数值";
                // 标记处上下限(数值超过了也没事)
                option.YAxisScaleLines.Add(new UIScaleLine() { Color = Color.Red, Name = "上限", Value = 60 });
                option.YAxisScaleLines.Add(new UIScaleLine() { Color = Color.Gold, Name = "下限", Value = 50 });
                // 更新坐标轴
                uiBarChart1.SetOption(option);

            }

        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值