22. 绘图的简单使用
在 saleAmount.txt 中记录了某零售店一段时间的销售数据,请根据其经营情况绘制销售数据折线图,以及将其与七日平均销售额做对比的双线图。
参考答案:
解答:
A | |
---|---|
1 | =T(“saleAmount.txt”) |
2 | =canvas() |
3 | =A2.plot(“GraphLine”,“categories”:A1.(string(Date,“MMdd”)),“values”:A1.(Amount), “xLabelInterval”:20,“legendLocation”:5) |
4 | =A2.draw@p(500 ,250) |
5 | =A1.derive(round(Amount[-3,3].avg(), 2):movAvg) |
6 | =A1.new(Date,“Normal”:Type,Amount) |
7 | >A5.(A6.insert(0,A5.~.Date, “Moving”, movAvg)) |
8 | =canvas() |
9 | =A8.plot(“Graph2Axis”,“categories”:A6.(string(Date,“MMdd”)+“,”+Type), “values”:A6.(Amount),“type”:20,“xLabelInterval”:20,“legendLocation”:5) |
10 | =A8.draw@p(500 ,250) |
A1 中读取文件中数据如下:
A2 中用 canvas() 函数新建画布,A3 中编辑绘图属性,选择成品图的折线图,并设置分类值和数据值:
由于数据中分类数据非常多,因此还设置了分类标签间隔 Interval 属性为 20。表格执行后,选择 A4,点击右上方的绘图按钮,即可看到绘图效果,从图中可以看到,销售数据的起伏还是很激烈的。
A5 中在 A1 中数据的基础上,添加了移动均值,计算时取前 3 天至后 3 天区间内数据的均值。A6 中开始准备双线图数据,为此添加数据类型,原始数据类型为 Normal,在 A7 中循环添加移动均值数据到 A6 中,类型为 Moving。A8 中新建画布,A9 中绘制双线图成品图,与前面不同的是分类值中需要同时包含日期与类型数据,中间用逗号分隔。
选择 A10,绘图后可看到双线图的绘图效果,从图中可以看到,两条折线图用不同颜色展示,而移动均值折线图会变得更平滑,也更容易展示数据的变动趋势。
英文版