标记正在绘制的多维数组的每个输出

时间:2017-11-18 07:40:48

标签: python matplotlib

工作示例:

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

def BoatFishSystem(state, t, *args):
    '''http://www.danham.me/r/2015/10/29/differential-eq.html'''
    A = args[0]
    B = args[1]
    C = args[2]
    fish, boat = state
    d_fish = fish * (A - boat - fish)
    d_boat = -boat * (B - C * fish)
    return [d_fish, d_boat]

A = 2.0
B = 1.0
C = 1.5
params = (A, B, C)
n_steps = 100000
t = np.linspace(0, 20, n_steps)
init_state = [1, 1]
species = odeint(BoatFishSystem, init_state, t, args = (params))

plt.plot(t, species, label = ['a', 'b'])
plt.legend()
plt.show()

期望的结果: 一个输出行标记为' a'另一个输出行' b'

目前的结果: 这两行都标有[' a',' b']

1 个答案:

答案 0 :(得分:0)

将标签移至plt.legend()

plt.plot(t, species)
plt.legend(['a', 'b'])

enter image description here