【问题标题】:Controlling the Range of a Color Matrix Plot in Matplotlib在 Matplotlib 中控制颜色矩阵图的范围
【发布时间】:2013-11-01 01:48:48
【问题描述】:

我想在 matplotlib 中制作如下图所示的矩阵图。我可以使用以下代码制作这样的情节:

m = numpy.random.rand(100,100)
matplotlib.pyplot.matshow(m)

如何控制色阶,即设置与“min”和“max”颜色对应的值?

【问题讨论】:

  • This 似乎提供了一种不仅可以指定颜色条,还可以指定边界的好方法。
  • @tcaswell 我的错误,已修复
  • @tcaswell 他们能做到吗? ;)

标签: python matplotlib


【解决方案1】:

matshow 文档表明选项大多只是传递给imshow (docs)。 Imshow 接受参数vminvmax,根据您的需要确定最小和最大颜色。我们来看一个例子:

import numpy as np
import matplotlib.pyplot as plt
plt.ion()
A = np.arange(0,100).reshape(10,10)
plt.matshow(A)                        # defaults
plt.matshow(A, vmin=0, vmax=99)       # same
plt.matshow(A, vmin=10, vmax=90)      # top/bottom rows get min/max colors, respectively

旁白:

我还可以建议更改颜色图吗?例如。 cmap='hot'。虽然它是默认值(为什么?),但 'jet' 颜色图是 almost never the best choice

x = np.random.randn(1000)
y = np.random.randn(1000)+5
plt.hist2d(x, y, bins=40, cmap='hot')
plt.colorbar()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多