import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
data=np.random.rand(100).reshape(10,10)
fig,ax=plt.subplots(figsize=(15,12))
im = ax.imshow(data, vmin=0, vmax=1,cmap='Blues')下面是一个例子,其中x和y的勾标是网格数。但是如何获得从0到100或0到1的x_tick_labels呢?
发布于 2018-09-29 09:40:55
我一直认为matplotlib定位器和格式化器很难用于许多实际目的,所以如果疯狂物理学家提供的链接不适合您,您可以手动设置它们:
n, m = data.shape
ax.set_xticks(np.linspace(0, n-1, n))
ax.set_xticklabels(["%.1f" % i for i in np.linspace(0, 100, n)])若要将x轴的格式从0设置为100,在正方形中间加上滴答,或
n, m = data.shape
ax.set_xticks(np.linspace(-0.5, n-0.5, n+1))
ax.set_xticklabels(["%.1f" % i for i in np.linspace(0, 100, n+1)])在正方形的左右两边的滴答声。
注意,"%.1f"用于在逗号后将字符串格式化为1 0(参见here);如果需要整数,则可以使用"%d"。
https://stackoverflow.com/questions/52566866
复制相似问题