前言:
利用Python中的3D绘图模块,将微观经济学中的效用函数进行可视化呈现。这里主要针对三种最普通的效用函数:
无差异曲线凸向原点的一般效用函数:
无差异曲线为向右下方倾斜直线的完全替代品效用函数:
无差异曲线为直角折线的完全互补品效用函数:
同一条无差异曲线上的点所代表的产品组合拥有相同的效用水平,这与地理中等高线的概念如出一辙,因此可以运用contour来模拟无差异曲线的绘制。
代码实现:
import matplotlib.pyplot as plt import numpy as np fig = plt.figure(1) #定义新的三维坐标轴,用以绘制效用曲面 ax1 = plt.axes(projection='3d') #定义三维数据与效用函数参数 n =100 a = 3 b = 2 x = np.linspace(0,30,n) y = np.linspace(0,30,n) X, Y = np.meshgrid(x,y) #一般效用曲面 Z = np.sqrt(X*Y) #完全替代品效用曲面 # Z = a*X+b*Y #完全互补品效用曲面 # Z = np.minimum(a*X,b*Y) #曲面图 Utility = ax1.plot_surface(X,Y,Z,cmap='coolwarm',alpha=0.8) #叠加等高(无差异)线 ax1.contour(X,Y,Z,zdir='z',offset=0,cmap='rainbow') #设置坐标轴标签 ax1.set_xlabel('Good X') ax1.set_ylabel('Good Y') ax1.set_zlabel(