matplotlib 对周期性数据使用循环色彩Map表时的图像伪影

dluptydi  于 2023-01-26  发布在  其他
关注(0)|答案(1)|浏览(127)

我目前正在尝试可视化2pi周期的电磁场相位。为了可视化例如1.9 pi几乎等于0,我使用了循环色图(微光)。然而,当我绘制图像时,相位从(几乎)2pi跳变到0的部分总是有线条。当您放大这些线条时,这些伪影消失。
下面是演示此问题的简单脚本和示例图像。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3,3,501)
x,y = np.meshgrid(x,x)

data = x**2+y**2
data = np.mod(data, 2)

plt.set_cmap('twilight')

plt.imshow(data)
plt.show()

我也用“twilight_shifted”和“hsv”测试过,也得到了同样的问题。通过plt.savefig()保存图像后也出现了这个问题。我也尝试了其他图像格式,如svg,但没有改变任何东西。

5uzkadbs

5uzkadbs1#

this answer中所建议,您可以将图像插值设置为“最近”,例如,

plt.imshow(data, interpolation="nearest")

有关不同插值方法的图像抗锯齿效果的讨论,请参见here

相关问题