擅长:python、mysql、java
<p>我认为这是不可能同时做这件事的matplotlib.pyplot.plot. 不过,我的解决方案是:</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
def scatterplot(x,y,prop):
prop = cm.jet((prop-np.min(prop))/(np.max(prop)-np.min(prop)))
ax = plt.gca()
for i in xrange(len(x)):
ax.plot(x[i],y[i],color=prop[i], marker='o')
return
x = np.random.rand(100)
y = np.random.rand(100)
prop = -20+40*np.random.rand(100)
fig = plt.figure(1,figsize=(5,5))
ax = fig.add_subplot(111)
scatterplot(x,y,prop)
plt.show()
</code></pre>
<p>产生:</p>
<p><a href="https://i.stack.imgur.com/kEswp.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kEswp.png" alt="enter image description here"/></a></p>
<p>这种方法的唯一缺点是,如果有几个粒子,则遍历所有粒子的过程可能相对较慢。在</p>
<p><strong>编辑(针对@Nathan Goedeke的评论</strong>:</p>
<p>我尝试了相同的实现,但是使用了一个datetime对象:</p>
^{pr2}$
<p>它也起作用。在</p>