存档在 ‘Excel图形与图表’ 分类中.

Excel 2007图表图案填充

在Excel 2007中,图表图案填充已不可用。但是,如果在一个黑白打印机上打印图表,则这项功能是有用的。虽然在以前Excel版本中创建的图表将继续显示图案填充,但是没有办法使用Excel 2007 UI来应用图案填充。
Microsoft的Eric Patterson通过创建一个加载项解决了这个问题,您可以参考下面的译文。
这个加载项在图表工具的格式选项卡中创建了一个新的名为Patterns的组。该组中有一个控件,当单击该控件时,显示应用到所选图表元素中可用的图案。
addintab1111
addintab12222 
主要为黑白打印机来使用图案填充。
- - - - - - - - - - - - - - - - - - - - -
下文将讨论在图表数据点中应用图案填充,并包括一个示例加载项。
概述
在Excel 2007中,对图表元素应用图案填充的界面(有利于应用图片和纹理填充的界面)已被移除了。在以前的Excel版本中带有图案填充的图表格式仍然保留,并且在Excel里打开该图表时会显示图案填充。
这里是一个带有应用了图案填充的图表:
FormatChart2 
Excel 2007中移除了可应用图案填充的界面,但可以通过Excel的对象模型来支持这些图案填充。FillFormat.Patterned方法可用于对图表元素应用图案填充,例如系列中的数据点。本文将介绍如何使用该对象模型来创建上面显示的图表,也提供了对图表元素应用图案填充的界面的示例加载项。
带有RibbonX和VBA代码的示例加载项点击这里下载。
使用Visual Basic立即窗口应用图案
让我们以一个示例饼图开始,来演示如何应用图案格式。创建该图表之后,单击Q1饼图切片将立即选择整个系列,并选择Q1数据点。如下图所示:
originalchart 
当选择了Q1数据点后,通过按Alt+F11激活VBE。在VBE中,按Ctrl+G显示并移动到立即窗口。
在立即窗口里,输入下列语句并按回车键:
selection.fill.patterned (4)
这将对所选图表元素显示第4个索引的图案。此时,图表将更新如下:
FormatChart1
重复该过程
对其它的3个数据点重复上面的过程来完成图表。依次选择它们,切换到VBE,然后为每个数据点输入Selection.Fill.Patterned命令。这里,分别为Q2、Q3和Q4使用索引值为26、15和12代表的图案。此时,该图表如下所示:
FormatChart2
示例加载项
接下来,演示如何创建一个加载项,在Excel里使用库控件快速地应用图案填充。
RibbonX
我们将使用RibbonX代码开始。如果不熟悉RibbonX,那么简要的解释是RibbonX是定义Ribbon外观的XML。在这里,RibbonX将定义想要放置库的位置,以及在该库中的项目(包括图片)。关于RibbonX的更多信息,请参见本站中的相关技术文章。
我们将创建的RibbonX驻留在该文档中,必须使用工具获取文档中的RibbonX。本例中使用的工具是“Office 2007 Custom UI Editor”,具体介绍请参见《定制Excel 2007功能区的工具和资源》。
下载并安装该工具后,打开前面所下载的“PatternUI.xlam”文档,将看到下图所示的界面:
UITool 
要创建这段XML,在UI编辑器里使用“插入图片”命令开始并选择以前已创建的每个图案填充的图片。要确保命名这些文件,与对象模型里的图案的索引值相匹配。
一旦添加了图标,然后在Ribbon XML里输入指定的图表选项卡(ChartToolsFormat)和组名(Patterns)。在功能区里的Patterns(图案)组里,指定包括在库里的项目,与之前已添加的图标一致。这里选择库的大小为8列和7行。
这是一段XML,重复Gallery(库)的所有54个元素:
<customUI xmlns=”http://schemas.microsoft.com/office/2006/01/customui“>
 <ribbon>
  <contextualTabs>
   <tabSet idMso=”TabSetChartTools” >
    <tab idMso=”TabChartToolsFormat” >
     <group id=”customGroup” label=”Patterns” insertAfterMso=”GroupShapeStyles”>
      <gallery id=”PatternGallery” image=”Pattern54″ size =”large” columns=”8″ rows=”7″ onAction=”InsertPattern” >
         <item id=”Pattern1″ image=”Pattern1″/>
         <item id=”Pattern2″ image=”Pattern2″/>
         <item id=”Pattern3″ image=”Pattern3″/>
       .
       .
       .
在输入所有的Ribbon XML之后,使用UI编辑器中的“产生回调(Generate Callbacks)”命令,会产生下面的回调:
callbacks11 
这个回调可以被输入到VBE中的模块里。
VBA代码
在VBA的代码模块里,只需要添加2行代码到回调中。第1行是一个非常简单的错误检查,避免万一企图使用库来应用格式而选择无效的对象时产生的错误。第2行是与上面输入到立即窗口里相同的命令。在本实例中,Patterned方法的参数是“index+1”。Index是返回的库的索引。索引值基于0,因此使用“+1”来确保库索引值与图案索引值相匹配。
‘Callback for PatternGallery onAction
Sub InsertPattern(control As IRibbonControl, id As String, index As Integer)
    On Error Resume Next
    Selection.Fill.Patterned (index + 1)
End Sub
完成该加载项
最后一步是使用“另存为”命令作为一个加载项保存该文件。
最后的成果
定义RibbonX和VBA代码之后,打开该加载项。选择一个图表后,在“图表工具”的“格式”选项卡中的“Pattens”组里显示图案下拉表。要使用某图案,则先选择一个图表系列或数据点,然后单击其中的一个库项目。

在Excel 2007中创建组合图表

通常,创建比较不同类型数据的图表是有用的。例如,想要比较交易量的分配价格,或者销售量的税,或者失业率和消费指数,或者其它一些事情。
要快速且清晰地显示不同类型的数据,绘制一些在不同坐标轴上带有不同图表类型的数据系列是很有帮助的。看下面的示例。
假设您在一个制造公司工作,想要分析超过前几个月的销售单价和每个月的总销售收入,并且希望识别哪里出现了问题,例如高的销售单价而低的交易额,从而显示可以进行进一步折扣的单价。
可以制作两个不同的图表,一个绘制每月的销售单价,一个绘制每月的交易额。但是,将要单独分析两个图表。因此,我们更愿意创建像下面所示的图表。
1
图1
使用正确的操作,可以很容易制作这样的图表。下面首先将介绍两个主要的步骤(改变图表系列类型和添加坐标轴),然后介绍如何将两者结合完成最终的图表。
步骤1:在工作表中输入下面的数据:
2
图2
单击功能区“开始”选项卡中“套用表格格式”命令,选择其中的样式,将数据格式为一个表。建立表后,更容易读取数据,也可以执行一些更高级的操作如筛选数据。(这里只是顺便提一下这个功能,后面的内容没有用到)
3
图3
组合不同的图表类型
创建带有多种类型图表的第1步实际上是只建立一种类型的图表。这里,想创建的图表带有柱状和折线,但将以规则的柱状图开始。(注:事实上与开始的图表类型无关,但如果使用许多系列,则应选择应用主要系列的图表类型,这样,以后可以少一些工作量)
步骤2: 选择在步骤1中所输入的数据,在功能区“插入”选项卡中插入柱形图(如下图所示)。
4
图4
现在,创建了一个带有两个系列的柱状图,均绘制在相同的坐标轴上,但与我们刚才的意图不相符,因为在交易额和销售单价之间的比例不同,我们甚至看不到销售单价系列。
5
图5
下一步将“交易总额”系列的图表类型改为折线。
步骤3:选择某系列。选择想要改变为不同类型的系列,本例中为“交易总额”系列。
选择系列: 可以有多种方法选择一个数据系列,这里只简要讲述其中最常用的两种。注意,选择某系列而不是整个图表或单个的数据点。
方法1:单击图表中想要选中的系列。注意,不要单击图例文本“交易总额($)”,而是单击图表中红色的柱状条之一。现在,应该看到系列高亮显示,如图所示。(注意,在红色柱状条中的小蓝色的圈)
6
图6
方法2:单击功能区中“图表格式”选项卡或者“图表布局”选项卡(注意,仅当选择图表时这些选项卡才出现)。在这些选项卡最左侧部分,有一个名为“当前所选内容”的组,其中有一个名为“图表区”的下拉菜单。
7
图7
单击该下拉菜单,选择想要改变的系列,在本例中,选择系列“交易总额($)”。
8
图8
步骤4: 改变所选择系列的图表类型。
首先,在功能区的“设计”选项卡中,单击功能区最左侧的“更改图表类型”。
9
图9
此时将弹出“更改图表类型”对话框,在其中选择想要的新类型。在本例中,选择折线图,单击“确定”。
10
图10
现在,已创建了一个带有两种类型(柱状和折线)的图表。实际上,您可以重复上面介绍的过程,为不同的数据系列应用不同的图表类型,从而组合多种图表类型。
11
图11
添加第二个坐标轴
上面的图表仍难以分析,因为交易总额的比例是远大于销售单价的比例。结果,难以读取销售单价,并且柱状图也不可分辨。所以,交易总额应该移到第二个坐标轴中,允许坐标轴有不同的比例。
步骤5: 选择想要放置在第二个坐标轴上的数据系列。在本例中,是“交易总额”系列。(如何选择数据系列参见步骤3)
步骤6: 在“格式”或“布局”选项卡中,在左侧“当前所选内容”中,确保下拉框中为“系列’交易总额’”,然后单击“设置所选内容格式”。
12
图12
步骤7: 在弹出的“设置数据系列格式”对话框中,打开“系列选项”,单击“次坐标轴”,然后单击“关闭”。
13
图13
现在已成功的为图表添加了第二个坐标轴。
14
图14
完成格式设置
下面介绍的内容将对已完成了组合图表进行格式设置。
步骤8: 将图例移到底部。单击功能区中的“图表布局”选项卡,然后单击“图例”,选择“在底部显示图例”。
15
图15
步骤9: 改变第二个坐标轴标签来显示货币符号。在坐标轴标签上单击右键,选择“设置坐标轴格式”。
16
图16
然后,单击“设置坐标轴格式”对话框左侧的“数字”选项卡,单击类别列表中的“货币”,在“格式代码”中设置格式后单击“添加”,最后单击“关闭”。
17
图17
步骤10: 添加坐标轴标题。在功能区“布局”选项卡中,选择“坐标轴标题”。在下拉菜单中,选择“主要纵坐标轴标题”,然后选择“旋转过的标题”。输入标题。对“次要纵坐标轴”进行相同的操作。
18
图18
步骤11: 添加图表标题。在功能区“布局”选项卡中,单击“图表标题”,输入标题名。
最后,完成的图表如下:
1
图19
对更多的数据系列重复上面的步骤,应用不同的类型,可以创建更复杂的图表。

标签: 没有标签

创建分离的饼图

在Excel中创建饼图后,有时想将饼图中的某部分分离出来,以突出该部分。通过几次很简单的鼠标操作,就能达到这样的效果
(1)创建一个饼图
为了演示,先创建一个简单的饼图,如图1所示。
pie1
图1

继续阅读 ‘创建分离的饼图’ »

标签: 没有标签