【发布时间】:2020-03-24 05:00:34
【问题描述】:
Colab 中的图像看起来像 Minecraft 污迹 - 为什么以及如何修复?请参阅下面的可重现示例 - 但在子图网格和其他可视化上差异更为明显,为简单起见省略。
两者都使用 matplotlib 内联后端 - 尽管 Colab 显然使用了图形后端的不同变体,这可能是可变的。
经过测试的浏览器:Firefox Developer Edition v71.0b12 x64;谷歌浏览器 v78.0.3904.108 x64
系统:Win-10 Home OS x64
可重现的代码:(不包括手)
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
mpl.rcParams['figure.dpi'] = 80
img = np.random.randn(100, 100)
plt.imshow(img, cmap='bwr')
# used different values to make sizes match by actual pixel area
plt.gcf().set_size_inches(5, 5) # COLAB
plt.gcf().set_size_inches(6.6, 6.6) # SPYDER
【问题讨论】:
-
罪魁祸首可能在于句子“在Spyder vs. Colab中使用不同的值来使尺寸与实际像素区域相匹配”。因此,请显示每个案例的确切输出(不是蒙太奇),并显示您用于制作它们的确切值。
-
@ImportanceOfBeingErnest 不是罪魁祸首 - 我尝试了相同的值和没有值(省略
plt.gcf()...);最公平的比较应该是两者都显示相同数量的像素(否则,Colab 看起来更更糟糕,因为它往往会产生更大的图像和更多的污迹) -
@ImportanceOfBeingErnest 尝试每一个合理的组合(相同的像素,无设置,更大,更小)并获得相同的结果与您的建议相矛盾 - 是的,您的建议无效
-
我的建议只是显示实际输出和用于生成这些输出的值。因为这将允许复制、比较和解释。我还没有提出原因或解决方案。
-
@ImportanceOfBeingErnest 同样,我只是拒绝了
plt.gcf()...是我的测试的罪魁祸首的建议 - 但在显示所使用的确切值时,很好的电话;更新。 (再一次,我尝试了更大/更小的值,Colab 的质量仍然比 Spyder 的差)
标签: python matplotlib jupyter google-colaboratory