Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使绘图中的颜色连续(如果可能,通过标识和勾勒边界)_Python_Matplotlib - Fatal编程技术网

Python 使绘图中的颜色连续(如果可能,通过标识和勾勒边界)

Python 使绘图中的颜色连续(如果可能,通过标识和勾勒边界),python,matplotlib,Python,Matplotlib,给定二维空间中的一个点 我有一个函数,可以给出该函数所属的“区域”。 区域编号为“1、2、3 使用这个函数,我在2D空间中取了很多随机点,并给每个区域着色。 每一个都从第一个区域(蓝色)的中心(正方形)开始 第二个区域(绿色),从内到外依次类推。看起来是这样的: 如何使此绘图看起来连续而不象许多点?(每个区域都有一个平滑的颜色) 我用过: import matplotlib.pyplot as plt for zone in zones: plt.plot(X, Y, 'o') #

给定二维空间中的一个点

我有一个函数,可以给出该函数所属的“区域”。 区域编号为“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()
where zones是表单中的口述词

{zone:[X, Y]}
例如: {1:[[x1,x2,…],[y1,y2,y3,…],2:[[x11,x22,…] 哪里 (x1,y1),(x2,y2),…属于第一区
(x11,y11),…属于第二个区域,等等…

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


尝试绘制(X,Y,marker='o',markeredgewidth=0)三个快速建议:

  • 移除标记边框(如已经建议的Gaby又名G.Petrioli)
  • 使用较小的标记-这样可以减少边缘重叠
  • 使用更多的标记-以便均匀地覆盖空间(随着标记大小的增加,无论如何,您当然需要更多的标记来覆盖该区域)
  • 像这样:

    由此:

    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()
    

    这是一个非常棒的绘图!如果你要给出zone_function()的方程式,我们可能会找到一种方法来对输出进行多边形化,然后你可以画出实际的面积,而不是点的集合。