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. TableView基本使用

    TableView基本使用 基本步奏 1设置数据源 self.tableview.dataSource = self; 2遵守协议 @interface ViewController () <U ...

  2. 你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句

    4.2  条件选择语句 “老师,我这次四级考试过了没有?” 如果老师被问到这个问题,他会如何回答?是的,他会根据不同的条件选择不同的回答: 如果考试成绩大于等于60,那就回答:“恭喜你,你通过了这次考 ...

  3. uva 498 - Polly the Polynomial

    UVa 498: Polly the Polynomial | MathBlog #include <cstdio> #include <cstdlib> using name ...

  4. C++ Primer 5th 第2章 变量和基本类型

    *****代码在Debian g++ 5.3.1 / clang++ 3.8(C++11)下编写调试***** 由于部分编译器对标准遵循的不同以及自身额外的扩展,本章书中的少数知识点与实际实现存在偏差 ...

  5. JS模拟键盘事件 -- 原理及小例子

    提问: 键盘默认事件,比如tab切换,alt+f4关闭,ctrl+t新建等,如果不想通过键盘而是一些按钮点击来触发这些功能,该咋办呢? 例子: 先以tab为例上一个小例子: <!DOCTYPE ...

  6. 基类方法的反隐藏 反private 秘籍

    class GoodStudent:private Mentor,private Student { public : using Mentor::GetInfo;   ///------------ ...

  7. Effective Java Item4:Enforce noninstantiability with a private constructor

    Item4:Enforce noninstantiability with a private constructor 通过构造私有化,禁止对象被实例化. public class UtilClass ...

  8. ASP.NET中默认的一级目录

    默认一级目录结构: /Controllers – 存放负责处理 存放负责处理 URL请求的控制器类: 类:/Models – 存放表示和操纵数据以及业务对象的类: /Views – 存放负责呈现输出内 ...

  9. Unity中的关节

    关节组件一共分为5大类,它们分别是链条关节.固定关节.弹簧关节.角色关节和可配置关节.链条关节(Hinge Joint):将两个物体以链条的形式绑在一起,当力量过大超过链条的固定力矩时,两个物体就会产 ...

  10. 深入理解7816(5)-----关于文件DF/EF/MF/FID/AID/SFI

    刚开始接触CPU卡的时候,对于各种文件.应用的定义容易模糊不清,通常不能准确地界定什么是文件?什么是应用?DF和EF的区别真的就像计算机里的目录和文档那样吗?FID.AID.SFI这些概念都在什么时候 ...