ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 21281|回复: 12

[分享]用颜色填充XY散点图

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-9-21 21:47 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:散点图
用颜色填充XY散点图
分类:Excel图表
通常,在您想填充某个XY散点图下面的区域或者填充两个XY散点图之间的区域时,如果试着使用面积图或堆积面积图,而不考虑X轴的适当比例,则将得不到正确的图形。这里所介绍的技巧将解决这个问题,从而使散点图区域得到很好的填充。本文包括以下内容:
    ■ 填充XY散点图下面的区域
    ■ 填充两个XY散点图之间的区域
    ■ 技术小结
[此贴子已经被作者于2006-9-21 21:57:47编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-9-21 21:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
填充XY散点图下面的区域
使用XY散点图和面积图来完成此项操作。

第一步:准备源数据
本示例中,工作表A1:D11单元格区域最终的数据如下:
   |     A           B       C       D
---+--------------------------------
 1 |                                  面积
 2 |              数值    134      0
 3 |   2.00     37      134     37
 4 |   3.27     31      219     31
 5 |   6.26     19      418     19
 6 |   7.58     42      506     42
 7 |   8.33     14      556     14
 8 |   9.79     41      654     41
 9 |  11.20    29      748     29
10 |  13.86   25      925     25
11 |                        925      0
其中,A列和B列中的数据是源数据,C列和D列中的数据根据A列和B列中的数据得出。具体如下:
A3:A10单元格区域为XY散点图X轴数据,B3:B10单元格区域为XY散点图Y轴数据,单元格B2中的数据为XY散点图系列名称。C2:C11单元格区域为面积图中X轴数据,D2:D11单元格区域为面积图中Y轴数据,单元格D1中的数据为面积图系列名称。
本例中,在单元格C3中输入下面的公式:
=INT(1000*A3/15+1.5)
更通用的公式是:
=INT(1000*(A3-Xmin)/(Xmax-Xmin)+1.5)
其中,Xmin和Xman的值分别等于所生成的XY散点图形中X轴数据的最小值和最大值(在本例中,其值分别为0和15)。这个公式将指定缩放面积图中X轴的范围(当然,您可以改变这个缩放数值)。然后,拖拉单元格C3至单元格C10,得到单元格区域C3:C10相应的数据。在单元格C2中设置其数据等于C3(即=C3),在单元格C11中设置其数据等于C10(即=C10)。最后,单元格D3:D10区域的数据分别等于单元格B3:B10区域相对应的行单元格数据,即单元格D3数据=B3,……,依次类推。单元格D2和D11的数据等于0。

第二步:作XY散点图
选择单元格区域A2:B10,在“图表向导”中选择“XY散点图”,选取“折线散点图”,单击“完成”按钮,得到如下图01所示的XY散点图。
ZChnyl3m.rar (2.39 KB, 下载次数: 263)
[此贴子已经被作者于2006-9-22 6:35:08编辑过]
RIKIlLrM.jpg
UEiq1b8Y.jpg
joKzePCE.jpg
TPK7UjGo.jpg
mQdyzOnl.jpg
haixXzBN.jpg
ntvQaiKz.jpg
pwTtX97u.jpg
yeNpSIwP.jpg
cYCKiVEl.jpg
PFXnfbTF.jpg
apBFtign.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-9-21 21:49 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
填充两个XY散点图之间的区域
使用散点图和堆积面积图来完成此项操作,其基本原理同上所述,因此下面相关描述从简。

第一步:准备源数据
本示例中,工作表A1:F11单元格区域最终的数据如下:
   |     A         B         C         D       E       F
---+------------------------------------------------
 1 |                                            面积1   面积2
 2 |            数值1  数值2    134      0       0
 3 |   2.00     13      37       134     13      24
 4 |   3.27     18      31       219     18      13
 5 |   6.26     15      19       418     15       4
 6 |   7.58     28      42       506     28      14
 7 |   8.33     10      14       556     10       4
 8 |   9.79     21      41       654     21      20
 9 |  11.20    23      29       748     23       6
10 |  13.86   24      25       925     24       1
11 |                                   925      0       0
其中,A列、B列和C列中的数据是源数据,D列、E列和F列中的数据根据A列、B列和C列中的数据得出。具体如下:
A3:A10单元格区域为XY散点图X轴数据,B3:C10单元格区域为XY散点图Y轴数据,单元格B2和C2中的数据为XY散点图系列名称。D2:D11单元格区域为面积图中X轴数据,E2:F11单元格区域为面积图中Y轴数据,单元格E1和F1中的数据为面积图系列名称。
本例中,在单元格D3中输入下面的公式:
=INT(1000*A3/15+1.5)
更通用的公式是:
=INT(1000*(A3-Xmin)/(Xmax-Xmin)+1.5)
其中,Xmin和Xman的值分别等于所生成的XY散点图形中X轴数据的最小值和最大值(在本例中,其值分别为0和15)。这个公式将指定缩放面积图中X轴的范围(当然,您可以改变这个缩放数值)。然后,拖拉单元格D3至单元格D10,得到单元格区域D3:D10相应的数据。在单元格D2中设置其数据等于D3(即=D3),在单元格D11中设置其数据等于D10(即=D10)。最后,单元格E3:E10区域的数据分别等于单元格B3:B10区域相对应的行单元格数据,即单元格E3数据=B3,……,依次类推;单元格区域F3:F10中的数据为相对应的列C和列B中单元格数值之差,即单元格F3数据等于单元格C3减单元格B3(=C3-B3),……,依次类推。单元格区域E2:F2和E11:F11中的数据等于0。

第二步:作XY散点图
选择单元格区域A2:C10,在“图表向导”中选择“XY散点图”,选取“折线散点图”,单击“完成”按钮,得到如下图13所示的XY散点图。
vgum8HFA.rar (2.5 KB, 下载次数: 159)
[此贴子已经被作者于2006-9-23 0:19:19编辑过]
dfxLPwHw.jpg
qb9J3Nqd.jpg
B1t0Fl6E.jpg
rtDfm0N5.jpg
Uu1maqfX.jpg
1aplCwrq.jpg
TpxviyQs.jpg
2XyHzPbN.jpg
WDkm4yEV.jpg
FGHxpfaB.jpg
jWUtKbKi.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-9-21 21:49 | 显示全部楼层

技术小结
1、在本文中所用的公式=INT(1000*(A3-Xmin)/(Xmax-Xmin)+1.5)是一个通用公式,这是本文所使用技术的关键点之一。在用于您作图的源数据时,可以使用它获得所需比例的数据,其中Xmin和Xmax的值在前文中已表述。此外,公式中的1000也可以改变,如改成100,但改变后,在作图过程中设置时,最大值和最小值应分别改为1和101。
2、在作图过程中,如果所需要使用的数据系列被覆盖,您可以使用图表工具条进行选择,如下图24所示。选取所需数据系列后,在图表中将相应突出该系列数据点,然后点击在工具条右侧“图表区格式”按钮进行格式设置。

图24:使用图表工具条

参考资源:来源于one of the best chart sites——peltiertech.com,本文对其翻译并进行了归纳整理和总结。

By fanjy in 2006-9-21

[此贴子已经被作者于2006-9-23 0:20:15编辑过]
jmM45ehh.jpg

TA的精华主题

TA的得分主题

发表于 2006-9-22 18:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

To Fanjy,谢谢你的推荐和翻译。

其实,这里的关键是因为面积图的X轴是分类轴,是整数,不可能为小数的。这个示例的关键是:

1。将数据放大并取整,这样,面积图和折线就会貌似重合。如果你乘以一个较小的数字(如楼主说的100)的话,重合的效果就会差一些。

2。设置分类(x)轴的时候,一定要选择“时间刻度”

TA的精华主题

TA的得分主题

发表于 2006-9-22 20:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

加分

加分

谢谢fanjy

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-9-23 00:22 | 显示全部楼层
图片做得太多了,今天终于全部传完.谢谢hxhgxy的点评和snood的鼓励!

TA的精华主题

TA的得分主题

发表于 2006-9-27 09:03 | 显示全部楼层

图文并茂,好贴,收藏了,谢谢!

TA的精华主题

TA的得分主题

发表于 2006-12-12 22:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-4-24 21:59 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
excel2007下好像有问题,次横坐标轴最小日期只能是134,最大日期只能是925
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 18:17 , Processed in 0.045429 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表