Как добавить метки с номерами отметок на график? - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь построить график с этим:

import matplotlib.pyplot as plt
from numpy import *
from scipy.interpolate import *


x= array([13, 15,18,20,25,30])
y= array([2.29E+60, 3.87E+60, 7.12E+60, 1.07E+61, 1.90E+61, 3.34E+61])


y2= 7.0867E+56 * x**3.177

plt.xlabel('M/Msun')
plt.ylabel('Average Rate of Nucleosynthesis')


plt.xscale('log')
plt.yscale('log')

plt.yticks((min(y),max(y), 1))

plt.plot(x,y, 'o', color='black')
plt.plot((x),y2,'black')

plt.show()

И тогда я получаю этот тип графика:

example graph

Отметки на оси Y не отображаются.Есть идеи, как это исправить?

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете сделать что-то вроде этого:

import matplotlib.pyplot as plt

from numpy import *
from scipy.interpolate import *


x= array([13, 15,18,20,25,30])
y= array([2.29E+60, 3.87E+60, 7.12E+60, 1.07E+61, 1.90E+61, 3.34E+61])


y2= 7.0867E+56 * x**3.177

fig, ax = plt.subplots()

plt.xlabel('M/Msun')
plt.ylabel('Average Rate of Nucleosynthesis')

ax.plot(x,y, 'o', color='black')
ax.plot((x),y2,'black')

ax.set_xscale('log')
ax.set_yscale('log')


ax.set_yticks([1.00E+60, 1.00E+61, 1.00E+62])

plt.show()

graph1

или

import matplotlib
import matplotlib.pyplot as plt
from numpy import *
from scipy.interpolate import *


x= array([13, 15,18,20,25,30])
y= array([2.29E+60, 3.87E+60, 7.12E+60, 1.07E+61, 1.90E+61, 3.34E+61])


y2= 7.0867E+56 * x**3.177

fig, ax = plt.subplots()

plt.xlabel('M/Msun')
plt.ylabel('Average Rate of Nucleosynthesis')

ax.plot(x,y, 'o', color='black')
ax.plot((x),y2,'black')

ax.set_xscale('log')
ax.set_yscale('log')


ax.set_yticks([1.00E+60, 5.00E+60, 1.00E+61, 5.00E+61])
ax.get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())

plt.show()

, чтобы получить что-то подобное:

graph2

Возможно, вы захотите прочитать этот ответ о переполнении стека для получения дополнительной / лучшей информации.

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