我对如何更改图中图形的颜色感到困惑,每条线代表具有不同 h 值的欧拉近似值。
import numpy as np
import matplotlib.pylab as plt
# your function
def Eulergraph(h, N, ax):
K = 12; r = 0.43; Po = 1;
#defining dP/dt as a function f(P)
f = lambda P: r*P*(1-P/K)
P = np.array([])
P = np.append(P,Po) #initializing P with Po
for n in range(N+1):
Pn = P[n] + h*f(P[n])
P = np.append(P,Pn)
# formatting of your plot
plt.xlabel (' Value of n ”' )
plt.ylabel (" Value of p[n] ”")
plt.title (" Approximate Solution with Euler’s Method " )
plt.show()
最佳答案
您只需要在 for 循环之外调用 ax.plot
,并且只绘制 P
而无需 n
,无需强制执行带有 'r' 标志的红色,就像这样:
for n in range(N+1):
Pn = P[n] + h*f(P[n])
P = np.append(P,Pn)
ax.plot(P, 'o')
在您的原始代码中,您独立绘制每个点。
这不是必需的,因为 matplotlib 可以直接绘制一个向量或一个列表。
因此,您可以简单地填充 P
,然后在没有 X 数据的情况下绘制它。
'ro'
选项表示:
- 绘制红色标记(
r
) - 使用圆形标记 (
o
)
如果您删除颜色选项并简单地传递 o
,matplotlib 将负责以不同的颜色绘制每个函数。
关于python - 我怎样才能改变我的情节,使每张图都有不同的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55960790/