/// 创建Chart,并设置相关属性
/// 最后按照固定路径输出成gif图
/// </summary>
/// <param name="saveDocPath">保存路径</param>
public void CreateChart(string saveDocPath)
{
ExcelSeries oSeries;
ExcelChart oChart;
oWB = (ExcelWorkbook)sheetParent;
oChart = (ExcelChart)oWBChartsAdd(MissingValue, MissingValue,
MissingValue, MissingValue);
//应用的数据"C39:C53"
oChartSetSourceData((ExcelRange)sheetget_Range("C39:C53", MissingValue), MissingValue);
oChartChartAreaBorderLineStyle = ExcelXlLineStylexlLineStyleNone;//设置整个图表的边框线条
oChartChartAreaBorderColor = ColorTranslatorToOle(ColorBlack);// 设置整个图表的边框颜色
oChartChartAreaInteriorColor = ColorTranslatorToOle(ColorWhite);// 设置整个图表的内部颜色
oChartPlotAreaInteriorColor = ColorTranslatorToOle(ColorLightCyan); //设置绘图区的背景
oChartPlotAreaWidth = 630;
oChartPlotAreaHeight = 420;
oChartPlotAreaTop = 60;
oChartPlotAreaLeft = 15;
//oChartPlotAreaInteriorColor = ColorTranslatorToOle(ColorFromName("#b2d235"));//一片黑,貌似不能用
//oChartPlotAreaInteriorColor = ColorTranslatorToOle(ColorFromArgb(64, 224, 208));
oChartHasLegend = false;//没有图例
oChartHasTitle = true;//设置标题
oChartChartTitleText = DateTimeNowYearToString()+"年"+DateTimeNowMonthToString()+"月"+DateTimeNowDayToString()+"日北京市区降雨量柱状图";
oChartChartTitleFontName = "黑体";
//oChartChartTitleFontBold = true;
oChartChartTitleFontSize = 23;
//oChartChartTitleBorderLineStyle = ExcelXlLineStylexlDouble;//标题的线框样式
//oChartChartTitleShadow = true;
////Use the ChartWizard to create a new chart from the selected data
//Rng = sheetget_Range("C39:C53", MissingValue);
//oChartChartWizard(oResizeRng, ExcelXlChartTypexl3DColumn, MissingValue,
// ExcelXlRowColxlColumns, MissingValue, MissingValue, MissingValue,
// MissingValue, MissingValue, MissingValue, MissingValue);
//oChartWallsBorderColor = ColorTranslatorToOle(ColorGreen);//walls只是在3D时使用
//oChartWallsInteriorColor = ColorTranslatorToOle(ColorBlue);
//oChartWallsAndGridlines2D = true;
//设置圆柱样式
oSeries = (ExcelSeries)oChartSeriesCollection(1);
oSeriesXValues = sheetget_Range("B39", "B53");//x轴街道名称
oSeriesBorderColor = ColorTranslatorToOle(ColorBlack);//圆柱的边框
oSeriesBorderWeight = ExcelXlBorderWeightxlThin;//圆柱边框线宽
oSeriesInteriorColor = ColorTranslatorToOle(ColorLime);//圆柱的内部颜色
oSeriesHasDataLabels = true;//圆柱有数据标签
//oChartLocation(ExcelXlChartLocationxlLocationAsObject, sheetName);
//ExcelChartGroup grp = (ExcelChartGroup)oChartChartGroups(1);
//grpGapWidth = 20;//柱形不同的颜色
//grpVaryByCategories = true;
//设置Y轴的显示
ExcelAxis yAxis = (ExcelAxis)oWBActiveChartAxes(ExcelXlAxisTypexlValue,ExcelXlAxisGroupxlPrimary);
yAxisMajorGridlinesBorderLineStyle = ExcelXlLineStylexlLineStyleNone;
yAxisMajorGridlinesBorderColor = ColorTranslatorToOle(ColorAqua);//gridLine横向线条的颜色
yAxisMajorGridlinesBorderWeight = ExcelXlBorderWeightxlThin;
yAxisBorderColor = ColorTranslatorToOle(ColorBlack);//y轴颜色
yAxisBorderWeight = ExcelXlBorderWeightxlThin;
yAxisHasTitle = true;//y轴有标题
yAxisAxisTitleText = "单位:mm";
yAxisAxisTitleFontName = "宋体";
yAxisAxisTitleFontSize = 17;
//yAxisAxisTitleFontBold = true;
yAxisAxisTitleTop = 35;
yAxisAxisTitleOrientation = 0;//角度
//yAxisMinimumScale = 1;
//yAxisMaximumScale = 200;
yAxisTickLabelsFontName = "宋体";//y轴数字样式
yAxisTickLabelsFontSize = 14;
yAxisTickLabelsFontBold = true;
//设置X轴的显示
ExcelAxis xAxis = (ExcelAxis)oWBActiveChartAxes(ExcelXlAxisTypexlCategory, ExcelXlAxisGroupxlPrimary);
xAxisBorderColor = ColorTranslatorToOle(ColorBlack);//x轴颜色
xAxisBorderWeight = ExcelXlBorderWeightxlThin;
//yAxisTickLabelSpacing = 30;
//xAxisTickLabelsOrientation = ExcelXlTickLabelOrientationxlTickLabelOrientationHorizontal;//Y轴显示的方向,是水平
xAxisTickLabelsOrientation = (ExcelXlTickLabelOrientation)45;
xAxisTickLabelsFontSize = 15;
xAxisTickLabelsFontName = "楷体_GB2312";
xAxisTickLabelsFontBold =false;
//chart另存
string chartName = "chart" + DateTimeNowToString("yyyyMMdd");
oChartExport(saveDocPath+"\\"+chartName+"gif", "GIF", false);
}通常在工作中,Excel的图表转化都是用I插入l图表命令,然后一步一步正确设置图表的各个属性完成的。它属于Excel的高级 *** 作, *** 作人员需要经过一定的培训。本章利用VBA编程来实现图表转化自动化。这样,即便是没有使用过Excel的用户,都可以完成图表转化,通过表中数据得到对应的规律图。图表作为Excel的分析工具,实现了以图表形式显示数值化数据的功能用以达到分析报告的作用。它在Excel'扣是由Chart对象控制的。Chart对象分为工作簿下的Chart对象和工作表下的Chart对象。工作薄下的Chart对象作为独立的图表页存在。工作表下的Chart对象作为嵌入工作表中的图表对象存在。两者的属性和方法类似,主要区别就是存放的位置不同,本节主要介绍工作表中的Chart对象。学习利用Chart对象的属性和方法,实现对图表的自动化控制。Chart对象的最常用属性为ActiveChart属性。实际运用中,对图表对象的设置一般都是通过 ActiveChart属性来完成的。对于嵌入在图表中的Chart对象来说,如果用户选定了嵌入图表,或用Activate方法激活了包含嵌入图表的ChartObject对象,则该嵌入图表就处于活动状态。在Visual Basic代码中使用ActiveChart属性,既可引用嵌入图表,也可引用图表工作表(只要该图表处于活动状态)。气泡图(bubble chart)是可用于展示三个变量之间的关系。它与散点图类似,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则用气泡的大小来表示。排列在工作表的列中的数据(第一列中列出 x 值,在相邻列中列出相应的 y 值和气泡大小的值)可以绘制在气泡图中。气泡图与散点图相似,不同之处在于:气泡图允许在图表中额外加入一个表示大小的变量进行对比。
先放一张气泡图的样例:是不是感觉有点高大上呢(^▽^)
下面就气泡图的制作步骤一步一步介绍:
首先看原始表格,如下下图:
1首先我们需要加辅助数据,在每一行数据前加上一行,如下图:
2我们从最后一行的上面那行到第一行按序号填充数据(注意每行填充的数据都是相同的序号),如部分所示:
3开始作图,选中数据表——插入——图表——散点图——气泡图:
直接生成的气泡图是这样的,很散乱,我们要对其进行调整
4调整:右击图表——选择数据——切换行列——确定
现在气泡是不是比较齐整了呢,但是还不够,接下来我们还要继续调整
5增加数据标签及调整图表表现形式:
去掉图表标题,增加数据标签,如图:
是不是发现展示的数据标签怎么变成了我们的辅助数据?是不是还发现了我们的辅助数据的作用呢?其实增加的辅助数据就是用来定位的^-^
接下来我们调整数据标签让他变成我们需要的表格的具体数据:
点击数据标签的右边的三角形,选择“更多选项”,进入设置数据标签格式选项卡:
在数据标签格式选项卡按图示步骤将Y值换为气泡大小就OK
喏,气泡数据已经变成我们需要的了
6下面要对图例跟坐标轴进行调整了:
右击图表——选择数据——选中序列1——编辑
序列名称和X轴坐标按标示选择:
将所有序列依次调整好,得到如下图所示结果:
这里坐标轴我们用不到,直接删除就好,但是在这之前我们需要调整一下网格线
右击Y轴,按图示 *** 作,这里我们把最大值改成你的序列个数加1 ,把主要单位改成1
然后按同样的步骤把X轴调整,之后删除两个坐标轴即可
是不是发现少了横坐标?这个目前我没找到好的解决办法只能用一种最笨的办法添加了
7添加横坐标
对,没错,我就是直接添加文本框的(羞涩脸^~^),你们要是有好的方法可以教教我鸭(可爱脸)
好了,气泡图的制作方法基本介绍完了,其实这个数据表用雷达图进行展示效果是更好的,但是这里仅仅只是借用这个数据表介绍一下气泡图的制作,不要那么纠结,当然这里大家也可以后续对表格进一步美化呀,比如这样
好了,今天就介绍到这里了,介绍的过程步骤有些繁琐,主要是为了给小白看的,大神不要嘲笑我哦(哭笑脸o(╥﹏╥)o)也可以弄的需要你在VBE的工具箱上右键--添加控件,在附加控件框里面选择名称为:
Microsoft Office Chart 100或者Microsoft Office Chart 110的控件
若控件找不到可参考这个:
>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)