我试图用不同的a值绘制一个热图。轴显示的是0到30的迭代次数,而不是a的值应该在0到5之间。在
import numpy as np
from math import e
import matplotlib.pyplot as plt
from ipywidgets import interactive
%matplotlib inline
def ricker(A, x):
return x * e**(A * (1 - x))
import seaborn as sns
A1 = np.linspace(0,5,30)
A2 = np.linspace(0,5,30)
def F(A1,A2):
A1,A2 = np.meshgrid(A1,A2)
Lyap = 0
x = 0.5
for i in range(0,5000):
if i % 2==0:
A = A2
else:
A = A1
Lyap = Lyap + np.log(abs((1-A*x)*e**(A - A*x)))
x = ricker(A, x)
Lyap = Lyap/5000
return Lyap
z = F(A1,A2)
plt.figure(figsize=(16, 16))
ax = sns.heatmap(z)
ax.invert_yaxis()
你必须指定x/y记号标签,例如
结果很难看
你可以做得更好,如果你有一点格式
^{pr2}$但你也可以少用记号标签
相关问题 更多 >
编程相关推荐