这是显示每个子图的颜色条的示例:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((10,10,)))
fig,axn = plt.subplots(2, 2, sharex=True, sharey=True)
for ax in axn.flat:
sns.heatmap(df, ax=ax)
如何删除每个子图的颜色条?我只希望有一个垂直或水平方向的颜色条。我知道我可以通过访问每个颜色条轴fig.get_axes()[:-4]
,但是如何从绘图中将其完全删除呢?我认为在调用热图时,没有选择退出绘制颜色栏的选项。
所述cbar
参数控制是否一个彩条应,并将该cbar_ax
参数可以选择性地指定在颜色条应该去的轴。因此,您可以执行以下操作:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((10,10,)))
fig, axn = plt.subplots(2, 2, sharex=True, sharey=True)
cbar_ax = fig.add_axes([.91, .3, .03, .4])
for i, ax in enumerate(axn.flat):
sns.heatmap(df, ax=ax,
cbar=i == 0,
vmin=0, vmax=1,
cbar_ax=None if i else cbar_ax)
fig.tight_layout(rect=[0, 0, .9, 1])
(您将tight_layout
在此处收到一条警告,但实际上它是正确的,因为我们已cbar_ax
明确放置该警告。如果您不希望看到该警告,也可以tight_layout
在绘制之前进行调用,但不会那么紧)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句