Gab*_*iel 9 python warnings matplotlib
我有一个代码(如下面的最小工作示例所示MWE),在绘制颜色条时会产生警告:
/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py:1533: UserWarning: This figure includes Axes that are not compatible with tight_layout, so its results might be incorrect.
warnings.warn("This figure includes Axes that are not "
Run Code Online (Sandbox Code Playgroud)
我想抓住这个警告,因此不会显示.
我知道我应该按照这个问题中所述的方式应用一些东西我如何捕获一个numpy警告,就像它是一个例外(不仅仅是测试)?,但我不知道该怎么做.
这是MWE:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as gridspec
x = np.random.randn(60)
y = np.random.randn(60)
z = [np.random.random() for _ in range(60)]
fig = plt.figure()
gs = gridspec.GridSpec(1, 2)
ax0 = plt.subplot(gs[0, 0])
plt.scatter(x, y, s=20)
ax1 = plt.subplot(gs[0, 1])
cm = plt.cm.get_cmap('RdYlBu_r')
plt.scatter(x, y, s=20 ,c=z, cmap=cm)
cbaxes = fig.add_axes([0.6, 0.12, 0.1, 0.02])
plt.colorbar(cax=cbaxes, ticks=[0.,1], orientation='horizontal')
fig.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)
Bry*_*nta 14
您可能不希望将此警告视为例外.这将中断函数调用.
使用警告标准库模块来控制警告.
您可以使用上下文管理器禁止来自特定函数调用的警告:
import warnings
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fig.tight_layout()
Run Code Online (Sandbox Code Playgroud)
要忽略matplotlib的所有警告:
warnings.filterwarnings("ignore", module="matplotlib")
Run Code Online (Sandbox Code Playgroud)
要忽略matplotlib中的UserWarnings:
warnings.filterwarnings("ignore", category=UserWarning, module="matplotlib")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4848 次 |
| 最近记录: |