Matplotlib 绘制Budyko曲线(1974年)

Matplotlib 绘制Budyko曲线(1974年),matplotlib,math,plot,Matplotlib,Math,Plot,我找不到Budyko曲线的现成脚本,那么如何用python绘制它呢 budyko曲线的方程式为: 我想画的budyko曲线是: 以下是我使用的脚本: import numpy as np import matplotlib.pyplot as plt budyko_curve_x = np.arange(0, 3, 0.05) energy_limit_x = np.arange(0, 1.0001, 0.05) x = np.arange(0, 1.0001, 0.05) budyko_

我找不到Budyko曲线的现成脚本,那么如何用python绘制它呢

budyko曲线的方程式为:

我想画的budyko曲线是:


以下是我使用的脚本:

import numpy as np
import matplotlib.pyplot as plt

budyko_curve_x = np.arange(0, 3, 0.05)
energy_limit_x = np.arange(0, 1.0001, 0.05)
x = np.arange(0, 1.0001, 0.05)

budyko_curve_y = np.power((budyko_curve_x*np.tanh(1/budyko_curve_x)*(1-np.exp(-budyko_curve_x))),0.5)

water_limit_y = 1+budyko_curve_x*0
energy_limit_y = energy_limit_x
y = 1 + x*0

plt.plot(budyko_curve_x,budyko_curve_y,  linestyle='--')
plt.plot(energy_limit_y,energy_limit_x, c='r')
plt.plot(budyko_curve_x,water_limit_y,c='b')
plt.plot(y,x,linestyle='-.', c='k',label='_nolegend_')

plt.ylabel("Actual ET/P")
plt.xlabel("Potential ET/P")
plt.title('Budyko Curve')
plt.grid(b=True, which='major', color='#666666', linestyle='-',alpha=0.2)
# Show the minor grid lines with very faint and almost transparent grey lines
plt.minorticks_on()
plt.legend(["Budyko Curve","Energy Limit", "Water Limit"])
plt.grid(b=True, which='minor', color='#999999', linestyle='-', alpha=0.2)
输出为:


那么,复制、粘贴并使用..

你能解释一下为什么其他人对这个问题感兴趣吗?这个网站对自我回答的问题相当苛刻,即使这些问题是明确允许的。显示其他人可能对该问题或答案感兴趣会对你有所帮助。这对许多从事地球科学的人来说非常有用,但稍微增加一点背景会有帮助。你能再现你发布的确切数字吗?你是说用文本框吗?是的,所有绘图注释加上两个轴