惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
T
Tenable Blog
Project Zero
Project Zero
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
S
Schneier on Security
Scott Helme
Scott Helme
S
Securelist
Know Your Adversary
Know Your Adversary
Vercel News
Vercel News
IT之家
IT之家
V
V2EX
F
Fortinet All Blogs
Simon Willison's Weblog
Simon Willison's Weblog
K
Kaspersky official blog
博客园_首页
T
Tailwind CSS Blog
The GitHub Blog
The GitHub Blog
Spread Privacy
Spread Privacy
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
The Register - Security
The Register - Security
有赞技术团队
有赞技术团队
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
The Hacker News
The Hacker News
L
LINUX DO - 热门话题
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CXSECURITY Database RSS Feed - CXSecurity.com
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
S
SegmentFault 最新的问题
AWS News Blog
AWS News Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Vulnerabilities – Threatpost

博客园 - 逐风者

使用自定义控件的方式实现一个分页控件 在Oracle的函数中,返回表类型 在Word 中编辑文档的时候 有时鼠标点击无响应 无法在 COM+ 目录中安装和配置程序集 microsoft.sqlserver.notificationservices.dll [转]关于模态窗口(showModalDialog)的专题讨论! 访问被拒绝:“Interop.Word” [转]oracle临时表相关知识 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。 [转]SQL Server中获得EXEC后面的sql语句或者存储过程的返回值的方法 [转]asp.net中常用的一些小技巧 [转]Oracle中over函数的使用示例 Testing SOAP Headers with a Simple Axis Handler 在GetVaryByCustomString方法中使用Session logmnr的简单使用。 Oracle DBA 试题及答案 编写高性能C#代码! dotNet错误集! Oracle错误集! [转]Oracle PL/SQL中如何使用%TYPE和%ROWTYPE
使用OWC生成饼状图和柱状图
逐风者 · 2007-11-03 · via 博客园 - 逐风者

代码在.net 1.1 和OWC 10下面测试通过。
XValue类似于"a\tb\tc\td\t"
YValue类似于"1\t3\t6\t2\t"
一、生成柱状图

private void CreatChart()
{
    ChartSpaceClass csc 
= new ChartSpaceClass();
    
//添加一个图表
    ChChart cch = csc.Charts.Add(0);
    csc.Border.Color
="#7dd4fa";
    
    
//OWC10.ChBorder chBorder=(OWC10.ChBorder)csc.Constants;
    
    
//指定图表类型
    cch.Type = ChartChartTypeEnum.chChartTypeColumnClustered;
    
    
    
//设置特定图表的高度与宽度之比
    cch.AspectRatio = 20;
    
//指定是否显示网格线
    cch.Axes[0].HasMajorGridlines = false;
    cch.Axes[
0].HasMinorGridlines = false;
    cch.Axes[
1].HasMajorGridlines = false;
    cch.Axes[
1].HasMinorGridlines = false;
    
    
//指定图表是否需要图例
    cch.HasLegend = false;
    
//给定图表标题
    cch.HasTitle = false;            

    
//设置x柱文字的大小
    cch.Axes[0].Font.Size=20;
    cch.Axes[
0].Font.Bold=true;
    cch.Axes[
0].Orientation = (int)ChartLabelOrientationEnum.chLabelOrientationHorizontal;
    
    
    
//图例的位置
    
//cch.Legend.Position = OWC10.ChartLegendPositionEnum.chLegendPositionBottom;
    string type =Request.QueryString["type"]==null?"":Request.QueryString["type"].ToString();
    
string date=Request.QueryString["date"]==null?"":Request.QueryString["date"].ToString();
    
string[] strData = esWapper.getChartData(type,date);
    
//给定需要的数据
    
//Y轴数据
    string YValue = strData[1];
    
//X轴数据
    string XValue  = strData[0];
    cch.SeriesCollection.Add(
0);
    
    
    
//柱体颜色            
    cch.SeriesCollection[0].Interior.SetPatterned(ChartPatternTypeEnum.chPattern90Percent,"#7dd4fa","#7dd4fa");

    cch.SeriesCollection[
0].SetData(ChartDimensionsEnum.chDimCategories,Convert.ToInt32(ChartSpecialDataSourcesEnum.chDataLiteral),XValue) ;

    cch.SeriesCollection[
0].SetData(ChartDimensionsEnum.chDimValues,Convert.ToInt32(ChartSpecialDataSourcesEnum.chDataLiteral),YValue) ;
    
    
    
//以列宽百分比返回或设置相邻分类标志之间的间距
    cch.SeriesCollection[0].GapWidth = 80;
//            cch.SeriesCollection[0].Points[0].Interior.FillType = ChartFillStyleEnum.chSolid;
//            cch.SeriesCollection[0].Points[4].Interior.SetPresetGradient(
//                OWC10.ChartGradientStyleEnum.chGradientDiagonalUp,
//                OWC10.ChartGradientVariantEnum.chGradientVariantEdges,
//                OWC10.ChartPresetGradientTypeEnum.chGradientGoldII);
    
//cch.SeriesCollection[0].Line.set_Weight(OWC10.LineWeightEnum.owcLineWeightHairline  );

    
//增加数据值标签
    cch.SeriesCollection[0].DataLabelsCollection.Add();
    cch.SeriesCollection[
0].DataLabelsCollection[0].HasValue = true;

    
//边框颜色
    csc.Interior.SetPatterned(ChartPatternTypeEnum.chPattern90Percent,"#A6E3FF","#A6E3FF");
    Response.BinaryWrite((Byte[])(csc.GetPicture(
"png",980600)));
    
//Response.End();
}

二、生成饼状图

public void ChartPie()                    
{
    
//创建一个图形容器对象
    OWC10.ChartSpace objCSpace = new OWC10.ChartSpaceClass();
    objCSpace.Border.Color
="white";
    
//在图形容器中增加一个图形对象
    OWC10.ChChart objChart = objCSpace.Charts.Add(0);
    
//将图形的类型设置为柱状图的一种
    objChart.Type = OWC10.ChartChartTypeEnum.chChartTypePie3D;

    
//在图形对象中添加一个系列
    objChart.SeriesCollection.Add(0);
    
string type =Request.QueryString["type"]==null?"":Request.QueryString["type"].ToString();
    
string date=Request.QueryString["date"]==null?"":Request.QueryString["date"].ToString();
    
string[] strData = esWapper.getChartData(type,date);
    
//string[] strData = new string[2];
    
//给定需要的数据
    
//数据
    string YValue = strData[1];
    
//分类
    string XValue  = strData[0];
    
//给定系列的名字
    objChart.SeriesCollection[0].SetData (OWC10.ChartDimensionsEnum.chDimCategories,
        
+ (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, XValue);
    
//给定值
    objChart.SeriesCollection[0].SetData (OWC10.ChartDimensionsEnum.chDimValues,
        
+ (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, YValue);

    objChart.Inclination
=55;
    
    
    
//将第三个扇区抽离出来
    
//Explosion:返回或设置指定饼图或圆环图扇面的分离程度值。有效范围为 0 到 1000。分离程度值等于图表半径的百分比。
    
//objChart.SeriesCollection[0].Points[2].Explosion = 45;

    
//增加数据值标签
    objChart.SeriesCollection[0].DataLabelsCollection.Add();            
    
//分类名
    
//objChart.SeriesCollection[0].DataLabelsCollection[0].HasCategoryName=true;
    
//系列名
    
//objChart.SeriesCollection[0].DataLabelsCollection[0].HasSeriesName=true;
    
//设置图例边框颜色
    
    
//设置显示图例
    objChart.HasLegend=true;
    
//设置图例的位置,必须先把图例的显示属性设置为true
    objChart.Legend.Position = OWC10.ChartLegendPositionEnum.chLegendPositionBottom;
    objChart.Legend.Border.Color
="#FFFFFF";
    objChart.Legend.Font.Size
=20;
    
    
//显示各部分的数值
    objChart.SeriesCollection[0].DataLabelsCollection[0].HasValue = false;

    
//设置饼状图中字体的大小
    objChart.SeriesCollection[0].DataLabelsCollection[0].Font.Size=14;
    
    
//显示各部分的百分比
    objChart.SeriesCollection[0].DataLabelsCollection[0].HasPercentage = true;
    
    
//Response.Write(DateTime.Now.ToLongDateString());            
    Response.BinaryWrite((Byte[])(objCSpace.GetPicture("gif",800500)));
    
//Response.End();
}