Я пытаюсь создать цветовую карту с осями X и Y.Мой код выглядит примерно так:
x_min, x_max = numpy.pi/10, numpy.pi
y_min, y_max = 1e-7, 1e-5
xs = numpy.linspace(x_min, x_max, 10)
ys = numpy.linspace(y_min, y_max, 10)
results = numpy.zeros((len(xs), len(ys)))
for i, x in enumerate(xs):
for j, y in enumerate(ys):
results[i,j] = function(x,y)
pyplot.figure(figsize=(15,15))
pyplot.xlim(x_min, x_max)
pyplot.ylim(y_min, y_max)
pyplot.xticks(xs)
pyplot.yticks(ys)
im = pyplot.imshow(results,
extent=(x_min, x_max, y_min, y_max),
origin='lower',
cmap=matplotlib.cm.gray)
pyplot.colorbar(im, orientation='vertical', label='energy')
pyplot.show()
Мой график выглядит следующим образом: Рисунок 1
Но когда я убираю пределы x и y, степень (вpyplot.imshow) и галочки, это выглядит так: Рисунок 2
Последнее, что я хочу, чтобы выглядел как, но это неправильноотметкиЯсно, что проблема с рисунком 1 состоит в том, что он использует одинаковые масштабы для осей x и y - при значениях y, значительно меньших значений x, карта цветов также масштабировала экстент y, чтобы быть значительно меньшим.
Как заставить оси X и Y использовать соответственно разные шкалы, позволяя им иметь одинаковый экстент?