我有几个数据系列,每个系列都是一条无噪声理论曲线,还有一个 Nx2 噪声数据数组,我需要用图例显示这些数据。以下代码有效,但由于 Nx2 数据,我在图例中得到了两个条目...有没有办法避免这种情况?
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0,1,0.001)
td = np.arange(0,1,0.1)
td = np.atleast_2d(td).T
N = len(td)
x1 = t
x1r = td + 0.1*np.random.randn(N,2)
x2 = 2-t
x2r = 2-td + 0.1*np.random.randn(N,2)
plt.plot(t,x1,color='red')
plt.plot(td,x1r,'.',color='red',label='A')
plt.plot(t,x2,color='green')
plt.plot(td,x2r,'x',color='green',label='B')
plt.legend()
我可以通过在图例上指定句柄来解决这个问题:
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0,1,0.001)
td = np.arange(0,1,0.1)
td = np.atleast_2d(td).T
N = len(td)
x1 = t
x1r = td + 0.1*np.random.randn(N,2)
x2 = 2-t
x2r = 2-td + 0.1*np.random.randn(N,2)
plt.plot(t,x1,color='red')
red_dots,_ = plt.plot(td,x1r,'.',color='red',label='A')
plt.plot(t,x2,color='green')
green_xs,_ =plt.plot(td,x2r,'x',color='green',label='B')
plt.legend(handles=[red_dots, green_xs])
plt.show()
但是,我不太确定您为什么会遇到这个问题...当我对此有更多见解时会更新答案。
我是一名优秀的程序员,十分优秀!