我想在 matplotlib 中制作如下图所示的矩阵图。我可以使用以下代码制作这样的情节:
m = numpy.random.rand(100,100)
matplotlib.pyplot.matshow(m)
如何控制色标,即设置与“min”和“max”颜色对应的值?
我想在 matplotlib 中制作如下图所示的矩阵图。我可以使用以下代码制作这样的情节:
m = numpy.random.rand(100,100)
matplotlib.pyplot.matshow(m)
如何控制色标,即设置与“min”和“max”颜色对应的值?
matshow
文档表明这些选项大多只是传递给(imshow
docs )。Imshow 接受参数vmin
,并vmax
根据您的需要确定最小和最大颜色。让我们看一个例子:
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'
颜色图几乎从来都不是最佳选择。
x = np.random.randn(1000)
y = np.random.randn(1000)+5
plt.hist2d(x, y, bins=40, cmap='hot')
plt.colorbar()