Цветовые карты в python: Как получить цветовую карту для использования осей X и Y с разными масштабами? - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь создать цветовую карту с осями 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 использовать соответственно разные шкалы, позволяя им иметь одинаковый экстент?

...