我用matshow显示了一个数组,它工作正常,但现在我想尝试imshow。问题是,与matshow相比,imshow的质量确实很差。
我该如何解决这个问题?
Matshow:
matshow(array)
Imshow:
plt.imshow(array)
答案 0 :(得分:13)
问题归因于interpolation。
Matplotlib matshow
是imshow
的包装器,因为它"将原点设置为'upper','interpolation'设置为'nearest','aspect'设置为相等。 "
因此,虽然matshow始终使用 final String name = gson.fromJson(response, JsonElement.class).getAsJsonArray()
.get(index).getAsJsonObject()
.get("terms").getAsJsonObject()
.get("category").getAsJsonArray()
.get(0).getAsJsonObject()
.get("name").getAsJsonPrimitive()
.getAsString();
System.out.println(name);
,但默认情况下interpolation="nearest"
为imshow
。请注意,这与interpolation=None
不同。
interpolation="none"
使用matplotlib rc file中interpolation=None
变量中的插值集(在不同的matplotlib版本中可能会有所不同。)image.interpolation
不使用插值,与interpolation="none"
解决此问题的最安全方法是在两次调用中专门设置插值方法
"nearest"