silverlight 页面后台方法 .xaml.cs文件

public void CreateChart(Grid oGrid, ObservableCollection<ListItem> lBaseOilBar)
        {
            foreach (ListItem li in lBaseOilBar)
            {
                //图表大小,框线
                Chart chart = new MyCharts();
                chart.Width = 800;
                chart.Height = 600;
                chart.ScrollingEnabled = false;
                //图表标题
                Title title = new Title();
                string sTitle = li.Title;
                title.Text = sTitle;
                chart.Titles.Add(title);
                //Y轴数据单位
                Axis axisY = new Axis();
                string sYUint = li.YUint;
                axisY.Title = sYUint;
                chart.AxesY.Add(axisY);

title.MouseLeftButtonDown += new MouseButtonEventHandler(title_MouseLeftButtonDown);
                //X轴数据
                string[] sXLabel = li.XAXIS.ToArray();
                string sTableName = "";
                #region 点击是否触发事件,钻取数据图表赋值一个物理表名
                bool ifGetSig = false;
                switch (li.ChartName)
                {
                    case "Stock":
                        sTableName = "StockSingleOildom";
                        ifGetSig = true;
                        break;
                    case "Drill_JC":
                        sTableName = "Drill_JCSingleOildom";
                        ifGetSig = true;
                        break;
                    case "EXTRACTIONOIL":
                        sTableName = "EXTRACTIONOILSingleOildom";
                        ifGetSig = true;
                        break;
                    case "Drill_MACHINE":
                        sTableName = "Drill_MACHINESingleOildom";
                        ifGetSig = true;
                        break;
                    case "PROVEDRILL":
                        sTableName = "PROVEDRILLSingleOildom";
                        ifGetSig = true;
                        break;

}
                #endregion
                #region 图表柱状个数,循环加载数据
                ColorSet cs = new ColorSet();
                cs.Id = "colorset1";
                //foreach (YAXIS oYAXIS in li.YAXISs)
                for (int j = 0; j < li.YAXISs.Count(); j++)
                {
                    YAXIS oYAXIS = (YAXIS)li.YAXISs[j];
                    string sYTitle = "";
                    sYTitle = oYAXIS.Name;
                    double[] dYValue = null;
                    dYValue = oYAXIS.YValue.ToArray();
                    DataSeries dataSeries = new DataSeries();
                    dataSeries.LegendText = sYTitle;
                    #region 设置柱状图的颜色 待开发
                    //ColorSet cs = new ColorSet();
                    //string strColor = oYAXIS.Color;
                    //////Colors oColors = new Colors();
                    //cs.Id = "colorset1"; // 设置ColorSet 的 Id 为 colorset1
                    //cs.Brushes.Add(new SolidColorBrush(Colors.Green));
                    //cs.Brushes.Add(new SolidColorBrush(Colors.Red));
                    //cs.Brushes.Add(new SolidColorBrush(Colors.Blue));
                    ////cs.Brushes.Add(new SolidColorBrush(Colors.Yellow));
                    ////cs.Brushes.Add(new SolidColorBrush(Colors.Orange));
                    //chart.ColorSets.Add(cs);
                    //chart.ColorSet = "colorset1";  // 设置 Chart 使用自定义的颜色集合 colorset1
                    string strColor = oYAXIS.Color;
                    switch (strColor)
                    {
                        case "Red":
                            cs.Brushes.Add(new SolidColorBrush(Colors.Red));
                            break;
                        case "Yellow":
                            cs.Brushes.Add(new SolidColorBrush(Colors.Yellow));
                            break;
                        case "Orange":
                            cs.Brushes.Add(new SolidColorBrush(Colors.Orange));
                            break;
                        case "Green":
                            cs.Brushes.Add(new SolidColorBrush(Colors.Green));
                            break;
                        case "Blue":
                            cs.Brushes.Add(new SolidColorBrush(Colors.Blue));
                            break;
                        default:
                            break;
                    }
                    #endregion
                    #region 图表类型(柱状,饼状……)
                    string sChartType = li.ChartType;
                    RenderAs oRenderAs = new RenderAs();
                    switch (sChartType)
                    {
                        case "Column":
                            oRenderAs = RenderAs.Column;
                            break;
                        case "Pie":
                            oRenderAs = RenderAs.Pie;
                            break;
                        case "Line":
                            oRenderAs = RenderAs.Line;
                            break;
                    }
                    dataSeries.RenderAs = oRenderAs;
                    #endregion
                    #region 构造数据
                    DataPoint dp;
                    if (sXLabel != null)
                    {
                        for (int i = 0; i < sXLabel.Length; i++)
                        {
                            dp = new DataPoint();
                            dp.AxisXLabel = sXLabel[i];
                            dp.YValue = dYValue[i];
                            if (ifGetSig)
                            {
                                dp.Tag = sTableName;
                                dp.MouseLeftButtonUp += new MouseButtonEventHandler(dataPoint_MouseLeftButtonUp);
                            }
                            //饼状图去除值为0的oildom
                            if (dataSeries.RenderAs == RenderAs.Pie & dp.YValue == 0)
                            {
                              
                            }
                            else
                            {
                                dataSeries.DataPoints.Add(dp);
                            }
                        }
                    }
                    #endregion
                    chart.Series.Add(dataSeries);
                }
                // 设置 Chart 使用自定义的颜色集合 colorset1
                if (cs.Brushes.Count > 0)
                {
                    chart.ColorSets.Clear();
                    chart.ColorSets.Add(cs);
                    chart.ColorSet = "colorset1";
                }
                #endregion
                oGrid.Children.Add(chart);
            }
        }

silverlight 生产图表(动态图表类型,Y轴数量) .xaml.cs文件的更多相关文章

  1. echart图表中y轴小数位数过长展示效果不佳

    业务中后端返回的精密数据,小数过长,导致所有数据差距不大,在图表中显示重合为一条直线 解决方法设置echart的min属性 min: "dataMin", 但是设置了以后又出现了问 ...

  2. matplotlib根据Y轴数量伸缩画图的py脚本

    #coding:utf-8import numpy as npimport matplotlib.pyplot as plt #X,Y轴数据y = [20,59,11,12,16,20,15,12,1 ...

  3. 让图表的Y轴 产生几个刻度距离

    动态设置max 查看官网 写入方法 获取到你数据最大值 然后+个100

  4. silverlight 生成图表 WCF 解析XML代码.svc.cs 文件

    silverlight 调用wcf 文件代码 private ListItem AnalyzeXML(string XMLCode, string Reportdate, string ChartNa ...

  5. echarts图表x,y轴的设置

    https://www.cnblogs.com/cjh-strive/p/11065005.html xAxis属性代表echarts图表的x轴设置代码如下 xAxis : [ { type : 'c ...

  6. Silverlight visifire Chart图表下载到PPT文件中

    一.Silverlight xaml.cs文件 1. //下载图表        private void btnDown_Click(object sender, RoutedEventArgs e ...

  7. 使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示

    原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可 ...

  8. 在线报表设计实战系列 – 制作多Y轴组合图表(8)

    葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码.灵活.稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计. ...

  9. Flash图表控件FusionCharts自定义图表y轴最大/最小值

    自定义图表y轴的最大值和最小值 用户可以使用FusionCharts图表中<chart>元素的yAxisMaxValue和yAxisMinValue属性设置图表限制. 示例: <ch ...

随机推荐

  1. 获取GET/POST提交的数据,并处理中文问题

    1.获取input标签中的值,用request.getParameter("User")(User为input的name值) 2. 获取checkbox的值,由于是多选的,所以不能 ...

  2. Linux下makefile(一)

    makefile关系到了整个工程的编译规则.一个工程中的源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文 ...

  3. HTML&CSS基础学习笔记1.16-单元格间距和表格主体

    上一篇讲html学习笔记,讲过了合并单元格,那么今天就来介绍下如何控制单元格的间距,以及表格主体的相关知识. 单元格间距 在上个知识点的显示结果中你可能发现了,单元格与单元格之间有一小段空白.这是由& ...

  4. ubuntu 12.04 下搭接Qt 嵌入式开发环境

    1.安装前的准备工作 (1)有ubuntu12.04 的系统镜像(也可以其他linux 如Fedorea9),都是安装好的 (2)虚拟机VMWare 或 VirtualBox ,两者都可以,都是安装好 ...

  5. Codeforces 461B Appleman and Tree

    http://codeforces.com/problemset/problem/461/B 思路:dp,dp[i][0]代表这个联通块没有黑点的方案数,dp[i][1]代表有一个黑点的方案数 转移: ...

  6. Visual Studio中的lib的链接顺序

    描述:如果有一个exe工程,它依赖于A.lib,B.lib,A.lib和B.DLL我同样有他们的源码工程.依赖顺序是这样的exe->A.lib->B.DLL.那么如果我改动了B的源码,编译 ...

  7. Windows Azure 存储管理器 (2014)

     Windows Azure存储用户经常希望能够在"管理器"中查看他们的数据,管理器指的是一款可用于显示存储帐户数据的工具.我们之前提供了我们所知的存储管理器列表.在本文中,我 ...

  8. joomla学习网站资料

    http://joomlaol.com/joomla-chinese/joomla-study/340-joomla-skills.html joomla的强大相信学过和用过joomla的童鞋都知道吧 ...

  9. RequireJS入门(一)

    RequireJS由James Burke创建,他也是AMD规范的创始人. RequireJS会让你以不同于往常的方式去写JavaScript.你将不再使用script标签在HTML中引入JS文件,以 ...

  10. OC 图片圆角实现

    self.imageTouX.layer.masksToBounds=YES; self.imageTouX.layer.cornerRadius=/2.0f; //设置为图片宽度的一半出来为圆形 s ...