我正在尝试使用matplotlib.pyplot
中的subplot
在单一面板上绘制多个图像。以下是我的当前代码。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame({"col1": [1,2], "col2": [3,4], "col3": [5,6], "col4": [7,8], "target": [9,10]})
f, axs = plt.subplots(nrows = 2, ncols = 2, sharey = True)
# for ax in axs.flat:
# ax.label_outer()
for k, col in enumerate(df.columns):
if col != "target":
idx = np.unravel_index(k, (2,2))
axs[idx].scatter(df[col], df.target)
axs[idx].set_xlabel(col)
当前代码中,当以下两行代码被注释掉时,它会打印出所有的
xticks
,但仅为底部两个图绘制xlabels
。
如果取消对这两行代码的注释,则所有xlabels
都会出现,但顶部行的xticks
会消失。我认为这是由于[label_outer][2]
函数释放了空间。
我不知道如何在顶部行同时显示这两者。如果输出所有的xlabels
,则它们确实都存在。任何帮助将不胜感激!
:(
- Sam OTtight_layout
:-) - Corralien