Мне нужно изменить мой масштаб по оси Y на экспоненциальный масштаб, и я не знаю, как? - PullRequest
0 голосов
/ 28 апреля 2020
    plt.scatter(Temperature,Luminosity_Actual)
    ax=plt.gca()
    ax.set_xlim(ax.get_xlim()[::-1]) # Reverses the temperature scale so 0 is on the far right
    plt.title('Temperature vs Luminosity')
    plt.xlabel('Temperature')
    plt.ylabel('Luminosty')
    plt.show()

Приведенный выше код - это то, что у меня есть (в конце моей функции) для создания графика рассеяния температуры звезд в зависимости от их яркости. Температура и Luminosity_Actual оба списка. И сюжет выглядит так: Practice_HR_diagram . И я хочу, чтобы ось у масштабировалась экспоненциально, то есть от 10 ^ -6 до 10 ^ 6. Как бы я это сделал?

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете использовать полулогию .

Вот пример:

x = np.linspace(80000, 10000, 40)
y = 1e31*np.exp((x-80000)/10000.)

plt.plot(x, y, 'o')
plt.xlim(80000, 10000)

enter image description here

plt.semilogy(x, y, 'o')
plt.xlim(80000, 10000)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...