擅长:python、mysql、java
<p>发生这种情况是因为所有内容都是由同一个plot命令打印的。在</p>
<p>下面是一个例子:</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
data = [1, 100, 2, 200, 3, 300, 4, 400, 5, 500]
data = np.reshape(data, (5, 2))
column = 0
chunks = dict()
chunks[0] = data[data[:, column] < 300]
chunks[1] = data[data[:, column] >= 300]
for i in chunks:
plt.plot(chunks[i][:, 0], chunks[i][:, 1], "x", label="Chunk %i" % i)
plt.legend()
plt.show()
</code></pre>
<p>应该根据y值将数据分成块。但是出现了一个错误,而不是为列y输入了1,而是为列x输入了0。由于这个错误,块0是数据的完整副本,而块1是空的。因此,第一个plot命令以相同的颜色打印所有内容。第二个命令只将颜色不同的标签添加到图例中,因为块1中没有要打印的数据。在</p>