之前在网上找的绘制svg格式图片的源代码,其调用库的几行代码如下所示:
import matplotlib.pyplot as plt import numpy as np import matplotlib from matplotlib.pyplot import MultipleLocator matplotlib.rcParams["backend"] = "SVG"
刚开始能正常使用,后来不知道是不是因为库更新的原因。再次使用上述代码画图时,执行plt.show()时发现报错:
UserWarning: Matplotlib is currently using svg, which is a non-GUI backend, so cannot show the figure.
图片不能直接展示。并且生成的图片的下侧和右侧会超出画布范围,并且上侧会留出较大空白,如下图所示(红圈为标记出的问题)。需要通过inkscape或其他软件进行二次调整,比较麻烦。
后来发现,应该是之前使用的代码中,matplotlib.rcParams["backend"] = "SVG"这行代码存在问题,将这行代码删掉后,之前画图的源码就能正常使用了。效果如下所示:
可以发现,在注释掉matplotlib.rcParams["backend"] = "SVG"这行代码后,plt.show()能正常工作,且画出来的图片也不存在什么问题。