それらを分析するためにいくつかのデータをプロットしようとしています。
私のデータは次のように定義されています。
class Data(object):
def __init__(self, rows=200, cols=300):
"""
The Data constructor
"""
# The data grid
self.cols = cols
self.rows = rows
# The 2D data structure
self.data = numpy.zeros((rows, cols), float)
最初に、私はこの方法を持っていました:
def generate_data_heat_map(data, x_axis_label, y_axis_label, plot_title, file_path):
plt.figure()
plt.title(plot_title)
fig = plt.imshow(data.data, extent=[0, data.cols, data.rows, 0])
plt.xlabel(x_axis_label)
plt.ylabel(y_axis_label)
plt.colorbar(fig)
plt.savefig(file_path + '.png')
plt.close()
これにより、ヒート マップ イメージ (2 番目の図) として何かが得られます。これは、MxN [輝度 (グレースケール、フロート配列のみ)] を渡すためです。これがグレースケール画像を生成しない理由はわかりませんが、これまでのところ、それが私が望んでいた結果であるため、心配していませんでした.
さらに計算を行った後、data_propertyを RGB として、data_uncertaityをアルファとして使用して、次の方法でデータを視覚化しました。
def generate_data_uncertainty_heat_map(data_property, data_uncertainty, x_axis_label, y_axis_label, plot_title, file_path):
plt.figure()
uncertainty = numpy.zeros((data_property.rows, data_property.cols, 4))
uncertainty[..., :3] = data_property.data[..., numpy.newaxis]
uncertainty[..., 3] = data_uncertainty.data
plt.title(plot_title)
fig = plt.imshow(uncertainty.data, extent=[0, data_property.cols, data_property.rows, 0])
plt.xlabel(x_axis_label)
plt.ylabel(y_axis_label)
plt.colorbar(fig)
plt.savefig(file_path + '.png')
plt.close()
しかし、もちろん、R、G、B に同じ値を繰り返しているため、アルファ値を持つグレースケール イメージが得られます。データに関する不確実性として。
カラー バーにもデータに関する情報がないことに気付きました (RGB であり、データの分析には使用できません)。
不確実性データで定義されたアルファ値とこの不確実性を表すカラーバーをマージした「ヒートマップ」プロットを作成するという、希望する結果を達成する方法がわかりません。上のこの 2 つの画像をマージするように:
これは私の色として:
これは私のアルファとして:
@BlazBratanic によって提示された変換では、少し色が見えると思いますが (よくわかりません)、期待していたものとはかけ離れています。
私の値はすべて 0.0 から 1.0 の間です。
前もって感謝します。