python - 使用python matplotlib时如何避免“suptitle”和“subplots”之间的重叠?
问题描述
我正在尝试绘制一个矩阵来比较一些数据。但是情节的标题与子情节重叠。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sn
def save_graph_cm(CMatrix):
# CMatrix is a dict with four 3x3 pandas DataFrame
k = 'Wine'
id = 0
cm = 1
plt.suptitle("#" + str(id) + " Confusion Matrix for " + k + " dataset")
for c_matrix in CMatrix:
plt.subplot(2, 2, cm)
sn.heatmap(CMatrix[c_matrix], annot=True, cmap="YlOrRd")
plt.title("CV - " + str(cm-1))
plt.xlabel("Predicted Classes")
plt.ylabel("Real Classes")
cm += 1
plt.tight_layout()
plt.show
我现在得到的是:
解决方案
从v3.3开始,matplotlibtight_layout
现在可以suptitle
正确显示:
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1, 3)
for i, ax in enumerate(axs):
ax.plot([1, 2, 3])
ax.set_title(f'Axes {i}')
fig.suptitle('suptitle')
fig.tight_layout()
推荐阅读
- neo4j - Neo4j Cypher 关系批量更新属性
- json - JsTree:如何将根的父级传递为#?
- linux - 为什么 find -regex 命令与 find | 不同?grep?
- c++ - LLVM - 如何让嵌套函数看到外部函数的变量
- dockerfile - 在 Docker 中找不到 apt-get
- wpf - 什么会导致 WPF DragDelta 值在每次调用时突然累积?
- terraform - 将“Provider”和“Terraform”版本存储在单独的 TF 文件中?
- python - 如果我有一个函数“def func(*args):”我怎么能返回 0
- asp.net - 如果值在 if 语句之外不存在,如何添加到字典中?
- sql - SQL (Azure SQL) 中的 PIVOT 问题