经济学教科书常常借助图形说明原理,比如图-1,展示了供给曲线、需求曲线以及由于需求曲线的变化导致的供需均衡的变化。这种类型的图形就是本文所说的经济学风格的图形。它们的共性是图中的曲线(有时是直线)往往只满足一些经济学或数学上的性质,比如需求函数需要向右下方倾斜,而没有精确的函数表示。这种表示很直观,却会对统计软件的作图带来一些麻烦。
1、复制示例
本文首先用ggplot2实现图-1这个图形。可以分解成几个步骤来实现:
(1)使用Hmisc::bezier()绘制曲线段
如同图-1,我们选择将需求曲线绘制成向左下方凸的曲线,供应曲线绘制成向右下方凸的曲线。我们不知道具体的函数形式,这样的曲线段该如何绘制呢?可以借助于贝塞尔曲线方法,过任意三个点画出一条平滑曲线。R包Hmisc的bezier函数可以实现这种方法。根据输入的三个参考点坐标,这个函数会给出100个点的坐标。在这些点的基础上,使用ggplot2包的geom_path函数就可以绘制曲线段。这样就有了需求曲线和两条供给曲线:
library(tidyverse)
###绘制一条供给曲线
supply1<-