相关疑难解决方法(0)

Matplotlib离散色条

我试图在matplotlib中为散点图创建一个离散的颜色条

我有我的x,y数据,每个点都有一个整数标记值,我希望用一种独特的颜色表示,例如

plt.scatter(x, y, c=tag)
Run Code Online (Sandbox Code Playgroud)

通常标记将是0到20之间的整数,但确切的范围可能会改变

到目前为止,我刚刚使用了默认设置,例如

plt.colorbar()
Run Code Online (Sandbox Code Playgroud)

它提供了连续的颜色范围.理想情况下,我想要一组n个离散颜色(在这个例子中n = 20).更好的方法是将标签值设为0以产生灰色,1-20为彩色.

我找到了一些'cookbook'脚本,但它们非常复杂,我不认为它们是解决看似简单问题的正确方法

python matplotlib

77
推荐指数
6
解决办法
9万
查看次数

使用 imshow 绘制数组时将特定颜色分配给数组的值,而无需创建辅助数组

我有一个 2D NumPy数组,其中包含二进制值(0 和 1)+1 个附加值(-999),表示“无数据”。
这是一个虚拟示例:

import numpy as np

arr = np.random.randint(2, size=(100,))
# this no-data value has to be large compared to the data range:
arr[np.random.randint(1, 100, 20)] = -999 
arr = arr.astype(np.float32)
arr.reshape((10,10))

>> arr
array([[   1,    1,    0,    1,    0,    0, -999,    1,    0,    0],
       [   0,    1,    0,    0,    1,    0,    1,    1,    1,    1],
       [   1,    1,    1,    1, -999,    0,    1, -999,    1, -999],
       [   0,    1, -999,    1,    0,    1, …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy matplotlib imshow

5
推荐指数
1
解决办法
3259
查看次数

标签 统计

matplotlib ×2

python ×2

arrays ×1

imshow ×1

numpy ×1