【发布时间】:2016-07-23 15:56:44
【问题描述】:
几乎完全是问题所陈述的内容,但有一点上下文:
我正在创建一个程序来绘制大量点(约 10,000 个,但稍后会更多)。这是使用 matplotlib 的 plt.scatter 完成的。此命令是保存图形的循环的一部分,因此我可以稍后对其进行动画处理。
我想要做的是随机选择这些粒子的一小部分(比如说,可能是 100 个?),并给它们一个与其他粒子不同的标记,即使它们是同一数据集的一部分。这样我就可以将它们用作占位符,以查看单个粒子以及散装材料的运动。
有没有办法为同一数据的一小部分使用不同的标记?
作为参考,粒子均匀分布仅使用 numpy 随机采样器,但我的代码是:
for i in range(N): # N number of particles
particle_position[i] = np.random.uniform(0, xmax) # Initialize in spatial domain
particle_velocity[i] = np.random.normal(0, 5) # Initialize in velocity space
for i in range(maxtime):
plt.scatter(particle_position, particle_velocity, s=1, c=norm_xvel, cmap=br_disc, lw=0)
主循环每次迭代的位置和速度变化(有相当多的代码),但这些是主要的初始化和绘图例程。
我有一个想法,也许我可以从 range(N) 中随机选择一堆 i 值,并使用 ax.scatter() 命令将它们绘制在相同的轴上?
【问题讨论】:
-
您是否尝试过使用两个 plt.scatter() ,其中另一个包含随机粒子子集?这里的答案可能会有所帮助:stackoverflow.com/questions/11190735/…
标签: python python-2.7 matplotlib scatter-plot