2

给定二维空间中的一个点,

我有一个函数可以赋予该函数所属的“区域”。区域编号为 '1, 2, 3, ...

使用这个函数,我在 2D 空间中随机选取了很多点,并为每个区域着色。他们每个人都从中心(正方形)开始,这是第一个区域(蓝色)第二个区域(绿色),从内到外依次类推。它看起来像这样: 在此处输入图像描述

我怎样才能让这个情节看起来连续而不看起来像很多点?(每个区域都有一个平滑的颜色)

我用过:

import matplotlib.pyplot as plt
for zone in zones:
    plt.plot(X, Y, 'o')  # picks a different color automatically
plt.show()

其中 zone 是形式的字典

{zone:[X, Y]}

例如:{1:[[x1, x2, ...], [y1, y2, y3, ...]], 2:[[x11, x22, ...} 其中 (x1, y1), ( x2, y2), ... 属于第一个区域 (x11, y11), ... 属于第 2 个区域等等...

4

2 回答 2

4

三个快速建议:

  1. 删除标记边框(Gaby aka G. Petrioli如前所述)。
  2. 使用较小的标记 - 这样可以减少边缘重叠。
  3. 使用更多的标记 - 所以空间被均匀地覆盖(当你增加标记的大小时,你当然需要更多来覆盖该区域,无论如何)。

像这样:

在此处输入图像描述

由此:

import matplotlib.pyplot as plt
import numpy as np

data1 = np.random.random_sample((2, 10000))
data2 = np.random.random_sample((2, 100000))
plt.plot(data1[0], data1[1], 'o',markersize=10, markeredgewidth=1)
plt.plot(data1[0], data1[1]+1, 'o',markersize=10, markeredgewidth=0)
plt.plot(data2[0], data2[1]+2, 'o',markersize=1, markeredgewidth=0)

plt.xlim((-0.5,1.5))
plt.ylim((-0.5,3.5))
plt.show()
于 2012-06-09T14:48:17.307 回答
1

如果您删除标记的黑色边框,它肯定会有所改善..

尝试plt.plot(X, Y, marker='o', markeredgewidth=0)

于 2012-06-09T13:08:05.543 回答