Несколько морских карт тепловых карт, которые будут сохранены как изображение - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь получить две тепловые карты рядом друг с другом на одной линии.Но результат, который я получаю из своего кода - пустые белые картинки.

import matplotlib.pyplot as plt
import seaborn as sns

flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")

plt.subplot(2, 1, 1)
plt.figure(figsize=(flights.shape[1], (flights.shape[0] + 2) // 2))
ax = sns.heatmap(flights, annot=True, fmt="d")

plt.subplot(2, 2, 1)
plt.figure(figsize=(1, (flights.shape[0] + 2) // 2))
ax = sns.heatmap(flights.sum(axis=1).to_frame(), annot=True, fmt="d")

fig = ax.get_figure()
fig.savefig("myplot.png",)

Результат, который я хочу достичь, это результат этого графика:

plt.figure(figsize=(flights.shape[1], (flights.shape[0] + 2) // 2))
ax = sns.heatmap(flights, annot=True, fmt="d")

и этот:

plt.figure(figsize=(1, (flights.shape[0] + 2) // 2))
ax = sns.heatmap(flights.sum(axis=1).to_frame(), annot=True, fmt="d")

, чтобы быть рядом друг с другоми сохранить их как изображение.Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 28 января 2019

Я получил решение:

import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib import gridspec
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")


fig, (ax1, ax2) = plt.subplots(ncols=2,  gridspec_kw={'width_ratios':[flights.shape[1], 1]}, sharey=True, figsize=(flights.shape[1], (flights.shape[0] + 2) // 2))


sns.heatmap(flights, annot=True, fmt="d", ax=ax1)
sns.heatmap(flights.sum(axis=1).to_frame(), annot=True, fmt="d", ax=ax2)

fig.savefig("myplot.png")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...