我想操纵我子图中每个图的刻度。绘制单个绘图时,我使用以下方法获得所需结果:
import matplotlib.pyplot as plt
import numpy as np
# ...
# some data acquisition
# ...
ax.imshow(data[i], cmap=plt.cm.jet, origin='bottom')
ax.contour(x, y, dataFitted[i].reshape(2*crop, 2*crop), 3, colors='white')
# adjust scale from pixel to micrometers on heat maps
pixelSize = 5.5 # micrometer/pxl
scaleEnd = crop * pixelSize
wishedTicks = np.array([-150, -100, -50, 0, 50, 100, 150])
originalTicks = (wishedTicks + scaleEnd) / pixelSize
plt.xticks(originalTicks, wishedTicks)
plt.yticks(originalTicks, wishedTicks)
到目前为止,还不错,但如果我用
fig, ax = plt.subplots(nrows=5, ncols=4)
为了创建子图,我认为函数plt.xticks()
不再可用。你知道吗
有没有一种方法可以通过
或者
使用
plt.subplot
(documentation)而不是plt.subplots
可能适合您的需要。你知道吗产生以下结果:
还建议阅读this article on subplots,看看你可以用它们做些更整洁的事情。你知道吗
始终使用显式轴进行打印,如设置记号/标签。你知道吗
相关问题 更多 >
编程相关推荐