silverlight 生产图表(动态图表类型,Y轴数量) .xaml.cs文件
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文件的更多相关文章
- echart图表中y轴小数位数过长展示效果不佳
业务中后端返回的精密数据,小数过长,导致所有数据差距不大,在图表中显示重合为一条直线 解决方法设置echart的min属性 min: "dataMin", 但是设置了以后又出现了问 ...
- 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 ...
- 让图表的Y轴 产生几个刻度距离
动态设置max 查看官网 写入方法 获取到你数据最大值 然后+个100
- silverlight 生成图表 WCF 解析XML代码.svc.cs 文件
silverlight 调用wcf 文件代码 private ListItem AnalyzeXML(string XMLCode, string Reportdate, string ChartNa ...
- echarts图表x,y轴的设置
https://www.cnblogs.com/cjh-strive/p/11065005.html xAxis属性代表echarts图表的x轴设置代码如下 xAxis : [ { type : 'c ...
- Silverlight visifire Chart图表下载到PPT文件中
一.Silverlight xaml.cs文件 1. //下载图表 private void btnDown_Click(object sender, RoutedEventArgs e ...
- 使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示
原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可 ...
- 在线报表设计实战系列 – 制作多Y轴组合图表(8)
葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码.灵活.稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计. ...
- Flash图表控件FusionCharts自定义图表y轴最大/最小值
自定义图表y轴的最大值和最小值 用户可以使用FusionCharts图表中<chart>元素的yAxisMaxValue和yAxisMinValue属性设置图表限制. 示例: <ch ...
随机推荐
- 获取GET/POST提交的数据,并处理中文问题
1.获取input标签中的值,用request.getParameter("User")(User为input的name值) 2. 获取checkbox的值,由于是多选的,所以不能 ...
- Linux下makefile(一)
makefile关系到了整个工程的编译规则.一个工程中的源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文 ...
- HTML&CSS基础学习笔记1.16-单元格间距和表格主体
上一篇讲html学习笔记,讲过了合并单元格,那么今天就来介绍下如何控制单元格的间距,以及表格主体的相关知识. 单元格间距 在上个知识点的显示结果中你可能发现了,单元格与单元格之间有一小段空白.这是由& ...
- ubuntu 12.04 下搭接Qt 嵌入式开发环境
1.安装前的准备工作 (1)有ubuntu12.04 的系统镜像(也可以其他linux 如Fedorea9),都是安装好的 (2)虚拟机VMWare 或 VirtualBox ,两者都可以,都是安装好 ...
- Codeforces 461B Appleman and Tree
http://codeforces.com/problemset/problem/461/B 思路:dp,dp[i][0]代表这个联通块没有黑点的方案数,dp[i][1]代表有一个黑点的方案数 转移: ...
- Visual Studio中的lib的链接顺序
描述:如果有一个exe工程,它依赖于A.lib,B.lib,A.lib和B.DLL我同样有他们的源码工程.依赖顺序是这样的exe->A.lib->B.DLL.那么如果我改动了B的源码,编译 ...
- Windows Azure 存储管理器 (2014)
Windows Azure存储用户经常希望能够在"管理器"中查看他们的数据,管理器指的是一款可用于显示存储帐户数据的工具.我们之前提供了我们所知的存储管理器列表.在本文中,我 ...
- joomla学习网站资料
http://joomlaol.com/joomla-chinese/joomla-study/340-joomla-skills.html joomla的强大相信学过和用过joomla的童鞋都知道吧 ...
- RequireJS入门(一)
RequireJS由James Burke创建,他也是AMD规范的创始人. RequireJS会让你以不同于往常的方式去写JavaScript.你将不再使用script标签在HTML中引入JS文件,以 ...
- OC 图片圆角实现
self.imageTouX.layer.masksToBounds=YES; self.imageTouX.layer.cornerRadius=/2.0f; //设置为图片宽度的一半出来为圆形 s ...