小编典典

Matplotlib:使用与以前的轴相同的参数添加轴

python

我想在两个不同的子图中绘制数据。绘制后,我想回到第一个子图并在其中绘制另一个数据集。但是,这样做时会收到以下警告:

MatplotlibDeprecationWarning:当前使用与以前的轴相同的参数添加轴现在会重用之前的实例。在将来的版本中,将始终创建并返回一个新实例。同时,通过向每个轴实例传递唯一的标签,可以抑制此警告,并确保将来的行为。warnings.warn(消息,mplDeprecation,stacklevel
= 1)

我可以用一段简单的代码来重现它:

import matplotlib.pyplot as plt
import numpy as np

# Generate random data
data = np.random.rand(100)

# Plot in different subplots
plt.figure()
plt.subplot(1, 2, 1)
plt.plot(data)

plt.subplot(1, 2, 2)
plt.plot(data)

plt.subplot(1, 2, 1) # Warning occurs here
plt.plot(data + 1)

关于如何避免此警告的任何想法?我使用matplotlib
2.1.0。看起来像这里一样的问题


阅读 258

收藏
2020-12-20

共1个答案

小编典典

这是一个很好的例子,示出了使用受益matplotlib面向对象的API

import numpy as np
import matplotlib.pyplot as plt

# Generate random data
data = np.random.rand(100)

# Plot in different subplots
fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.plot(data)

ax2.plot(data)

ax1.plot(data+1)

plt.show()

注意: 将变量名以小写字母开头(例如,data = ...而不是Data = ...查看PEP8)更像是Pythonic

2020-12-20