我对如何更改绘图中图形的颜色感到困惑,每条线代表具有不同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


如果删除了color选项并仅传递了o,则matplotlib将负责以不同的颜色绘制每个函数。

关于python - 如何更改绘图,以使每个图形具有不同的颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55960790/

10-13 05:23