我使用以下脚本进行绘图:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pylab as pl
import math
import matplotlib as mpl
from matplotlib.ticker import MultipleLocator
from matplotlib.colors import LinearSegmentedColormap
cdict1 = {'red': ((0.0, 1.0, 1.0),
(0.4, 1.0, 1.0),
(0.7, 0.0, 0.0),
(1.0, 0.0, 0.0)),
'green': ((0.0, 1.0, 1.0),
(0.1, 0.0, 0.0),
(1.0, 0.0, 0.0)),
'blue': ((0.0, 1.0, 1.0),
(0.1, 0.0, 0.0),
(0.4, 0.0, 0.0),
(1.0, 1.0, 1.0))
}
white_blue_red = LinearSegmentedColormap('WhiteBlueRed', cdict1)
plt.register_cmap(cmap=white_blue_red)
x = np.loadtxt('data.dat',
unpack=True)
plt.scatter(x[0], x[1], marker='.', s=3, linewidths=0, c=x[3], cmap= \
plt.get_cmap('WhiteBlueRed')) # plt.cm.bwr
plt.colorbar()
plt.show()
我定义的颜色图使用相对值(函数 1 最大值的 0 最小值)。问题是我想使用该代码来绘制数百个不同的文件,并且我希望每个图都具有完全相同的颜色图。是否有可能用绝对值定义颜色图?那将解决我的问题。