【发布时间】:2018-06-17 13:50:53
【问题描述】:
我想用 matplotlib 实现两个目标:
- 动态更新散点图
- 慢慢使之前迭代中绘制的点更加透明。
目前,我能够使用颜色图实现相反的目标。也就是说,我可以随着时间的推移绘制点,但最近的点看起来更透明。
是否可以使用 cmap 或其他工具在 matplotlib 上获得“褪色”效果?谢谢!我的代码如下:
def plotter_fader(iterations = 100, stay_open = True):
# Set up plot
fig, ax = plt.subplots()
x_data = []
y_data = []
plt.ion()
fig = plt.figure()
ax = fig.add_subplot(111)
t_vals = np.linspace(0,1, iterations)
cmap = (0.09803921568627451, 0.09803921568627451, 0.09803921568627451, .05)
for t in t_vals:
# Get intermediate points
intermediate = (1-t)*A + t*B
new_xvals, new_yvals = ... #Get these through some process
x_vals.extend(new_xvals)
y_vals.extend(new_yvals)
# Put new values in your plot
plt.plot(x_vals, y_vals, '.', color = cmap)
# Recompute plot limits
ax.relim()
# Set title and wait a little bit for 'smoothness'
ax.set_xlabel('X Axis', size = 12)
ax.set_ylabel('Y Axis', size = 12)
ax.set_title('Time: %0.3f' %t)
ax.autoscale_view()
fig.canvas.draw()
time.sleep(0.005)
# Stay open after plotting ends
while stay_open:
pass
【问题讨论】:
-
您是否查看过
alpha,例如plt.plot(x, y, ColorShape, alpha=0.5)?
标签: python python-3.x matplotlib