python:在matplotlib中更改ax.matshow的大小

Jer*_*ril 0 python matplotlib heatmap

我试图使用matplotlib绘制热图,类似于plotly热图。我能够通过matshow图的大小得到输出很小。下图是在此处输入图片说明

是否有可能得到下图: 在此处输入图片说明

以下是我的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

z = []

for _ in range(7):
    new_row = []
    for __ in range(180):
        new_row.append(np.random.poisson())
    z.append(list(new_row))

df1 = pd.DataFrame(np.array(z), columns=range(len(z[0])))

fig = plt.figure(figsize=(20,10))

ax = fig.add_subplot(111)

cax = ax.matshow(df1, interpolation='nearest', cmap='coolwarm')
fig.colorbar(cax)

ax.set_xticklabels([''] + list(df1.columns))
ax.set_yticklabels([''] + list(df1.index))

plt.show()
Run Code Online (Sandbox Code Playgroud)

请帮助。

Imp*_*est 6

您可能要使用

ax.matshow(... , aspect="auto")
Run Code Online (Sandbox Code Playgroud)

消除imshow或方面方面的限制matshow