在 Google Colab 中使用笔记本时,无论我是否导入库pandas-profiling ,我的matplotlib绘图都有不同的行为。
如果我不导入pandas-profiling,则默认情况下会内联显示这些图。但是,如果我导入库,这些图将停止显示 inline。
解决方法(可能的解决方案)
- 在导入之前更新pandas-profiling库可以解决问题。
- 在导入pandas-profiling
%matplotlib inline
后添加可以解决问题。
复制
在 Google Colab 中运行此代码以重现该问题。在导入和不导入pandas_profiling的情况下对其进行测试。对于每个测试,您都需要终止会话(运行时->管理会话->终止)。仅仅重新启动运行时是不够的。
import matplotlib.pyplot as plt
# importing the pandas_profiling makes matplotlib
# to stop showing the plot inline
# import pandas_profiling
plt.plot([1, 2], [1, 2])
预期的行为是默认显示 inline 绘图,但在导入pandas-profiling后,绘图停止显示 inline。
真正的问题
当我的seaborn绘图功能开始出现故障时,我偶然发现了这个问题。
例如,考虑以下代码。
import matplotlib.pyplot as plt
# import pandas_profiling
import seaborn as sns
def plot():
ax = sns.pointplot([1, 2], [1, 2])
print(len(ax.collections))
现在调用plot()
两个不同的 jupyter 单元。
- 没有pandas-profiling:每个函数调用都会打印 1。
- 使用pandas-profiling:每个函数调用都会在前一个输出中加 1。