Excel下三角图解的绘制

 

Excel三角图解的绘制

 

 

1.       问题由来

Microsoft Excel已经提供了大量的图表类型,但仍然有一些图表类型没有提供,例如在地学中需要经常应用的三角图,就没有提供,一般来说,这类问题有几种解决方式,或者找一个可以绘制三角图解的软件,比如Grapher 3.x以上版本;或者使用CorelDrawVisio这样的软件通过绘图方式不精确的实现;或者在Excel中通过某种办法来“迂回”实现。

最后一种办法是笔者比较喜欢的方法,也是本文将要介绍的方法。

2.       解决思路

首先,需要知道三角图解是如何绘制的。三角图有XYZ三个轴,和其他直角坐标系图解不同,XYZ三个轴的值范围都是0~100,且满足X+Y+Z=100,所以,XYZ一般代表其百分含量。


     所以,我们的思路是通过坐标变换来将
XYZ三个变量变换到二维坐标系统的散点图(Scatter Chart),然后再绘制到图表中,而三角图的坐标轴以及刻度线都可以通过添加数据绘制,然后隐藏掉Excel散点图的坐标轴,一个三角图解就绘制完成了。

假设我们将绘制的三角图三个轴都设置为200的长度,散点图的圆点坐标设置在三角图的正下方(见上图),那么对于三角图中的任意点,其在散点图中的坐标是:

 

ScatterX = (100 - 200 * Y / (Y + Z)) * (100 - X) / 100

ScatterY = X * 1.732051[]

 

公式的推导是很简单的三角运算,应用此公式,我们就可以开始绘制三角图解了。

3.       绘制三角形和坐标点

首先在Excel中添加一个散点图,不添加数据,此时,这个图只是一个空白的方框。

需要说明的是,三角图解的坐标轴和数据点都是通过Excel图表的数据系列绘制的,在Excel中,一个图表可以最多添加256个数据系列,每个系列的格式(线性、数据标志都可以不同),所以要绘制此图解,我们就可以使用Excel的数据系列,逐个绘制所有内容。

3.1.    绘制三角形和坐标刻度

三角形和刻度的绘制需要知道所有三角坐标的坐标值,然后通过上文所述的公式变换得到需要的坐标,然后添加到散点图中。然后设置三角图的线性、符号等等。

3.2.    绘制坐标点

绘制好以上三角形后,就可以将坐标点通过上文公式变换为直角坐标系下的坐标,通过添加数据系列直接添加到图中,这样,坐标点也就绘制到三角图中了。

完成后,可以修改坐标点的格式、线性等内容。

3.3.    完成绘制

最后修改图表格式,去掉坐标轴,一个三角图解即绘制完成,你可以将此图留做模版,每次使用时只需要修改坐标点即可。

4.       结论

以上方法,思路很直接,也很简单,需要的工作量也不是很大,完全得益于Excel良好的设计和扩充性。而通过VBA编写一个加载宏,我们还可以给Excel增加一个功能,和别人分享你的成果。

 

附:

笔者编写的GCDPlot(免费、非开源)也有三角图绘制功能,文中三角图为GCDPlot绘制,需要者请参考:

介绍:http://www.cnblogs.com/maweifeng/archive/2004/12/26/82103.html

下载:https://files.cnblogs.com/maweifeng/GCDPlot0.22.zip



[] 根号33的平方根),

posted on 2005-01-16 17:12  马维峰  阅读(16247)  评论(5编辑  收藏  举报