我使用pcolormesh带有颜色条的matplotlib 图,对图和颜色条应用光栅化以减小文件大小并将图形保存为PDF文件.因此我注意到,在光栅化之后,颜色区域本身相对于轴向上和向左移动了一点,因此在图的下边缘和右边缘出现白色条纹.色条也是如此,我发现更糟糕的是:使用薄的彩条,白色条纹非常明显且令人不安.有没有办法避免光栅化图的这种行为,并将光栅化区域保持在光栅化之前的相同位置?
我试着玩rasterization_zorder和zorder settings.它帮助了一些pcolormesh情节(较低的白色条纹消失了),但我发现无法将它应用于colorbar.
下面是一个简单的例子,有四个图表证明了这个问题.请放大图表右下边的PDF文件,看看我的意思.
import numpy as np
import matplotlib.pyplot as plt
d = np.arange(100).reshape(10, 10)
myfig = plt.figure(figsize=(5, 5))
'''plot 1, no rasterization'''
ax1 = plt.subplot(221)
plot1 = ax1.pcolormesh(d)
cbar1 = plt.colorbar(plot1)
ax1.set_title("no rasterization", fontsize = 10)
'''plot 2, main plot rasterized, colorbar not'''
ax2 = plt.subplot(222)
plot2 = ax2.pcolormesh(d, rasterized=True)
cbar2 = plt.colorbar(plot2)
ax2.set_title("plot rasterized", fontsize = 10)
'''plot 3, main plot and colorbar rasterized'''
ax3 = …Run Code Online (Sandbox Code Playgroud)