0
同じコードを使用してmatplotlib
を使用して複数のヒートマップを作成しようとしています。もちろん、これらのヒートマップではデータが異なります。このため、ヒートマップの色の濃さが異なります。強度の範囲が同じままであることを確認できる方法はありますか?ヒートマップのすべての値は0と1の間にあるので、値0.2
のheatmap1
の色は、0.2
の色と同じに見えるようにしてください。両方のヒートマップの範囲が異なる場合でもheatmap2
になります。同じ勾配で複数のヒートマップを生成する
質問の多少混乱していることをお詫びしますが、私はそれをよりうまく説明する方法はわかりません。ここで
は私がヒートマップを生成するために使用しているコードです:
from matplotlib import pyplot as plt
def show_values(pc, fmt="%.2f", **kw):
'''
Heatmap with text in each cell with matplotlib's pyplot
Source: http://stackoverflow.com/a/25074150/395857
By HYRY
'''
# from itertools import izip
try:
# Python 2
from itertools import izip
except ImportError:
# Python 3
izip = zip
pc.update_scalarmappable()
ax = pc.get_axes()
for p, color, value in izip(pc.get_paths(), pc.get_facecolors(), pc.get_array()):
x, y = p.vertices[:-2, :].mean(0)
if np.all(color[:3] > 0.5):
color = (0.0, 0.0, 0.0)
else:
color = (1.0, 1.0, 1.0)
ax.text(x, y, fmt % value, ha="center", va="center", color=color, **kw)
df= pd.read_csv("filepath", header=None)
fig, ax = plt.subplots(figsize=(20, 10))
heatmap = plt.pcolor(df,cmap=matplotlib.cm.Blues)
ax.set_yticks(np.arange(df.shape[0]) + 0.5, minor=False)
ax.set_xticks(np.arange(df.shape[1]) + 0.5, minor=False)
ax.set_xticklabels(xlabels, minor=False, rotation=45)
ax.set_yticklabels(ylabels, minor=False)
plt.ylim((0, df.shape[0]))
plt.gca().invert_yaxis()
plt.title("plot title")
show_values(heatmap)
plt.show()
任意の助けもいただければ幸いです。
this exampleからこれを引っ張っコード
に感謝し、それらを指定します。 – Patthebug