Ответ 1
plt.hist(hmag, 30, range=[6.5, 12.5], facecolor='gray', align='mid')
Я хотел бы изменить диапазон x по умолчанию для графика гистограммы. Диапазон данных от 7 до 12. Однако по умолчанию гистограмма начинается с 7 и заканчивается на 13. Я хочу, чтобы она начиналась с 6,5 и заканчивалась на 12,5. Однако, тики должны идти от 7 до 12. Как мне это сделать?
import asciitable
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import pylab
from pylab import xticks
data = asciitable.read(file)
hmag = data['col8']
visits = data['col14']
origin = data['col13']
n, bins, patches = plt.hist(hmag, 30, facecolor='gray', align='mid')
xticks(range(7,13))
pylab.rc("axes", linewidth=8.0)
pylab.rc("lines", markeredgewidth=2.0)
plt.xlabel('H mag', fontsize=14)
plt.ylabel('# of targets', fontsize=14)
pylab.xticks(fontsize=15)
pylab.yticks(fontsize=15)
plt.grid(True)
plt.savefig('hmag_histogram.eps', facecolor='w', edgecolor='w', format='eps')
plt.show()
plt.hist(hmag, 30, range=[6.5, 12.5], facecolor='gray', align='mid')
import matplotlib.pyplot as plt
...
plt.xlim(xmin=6.5, xmax = 12.5)
следующий код предназначен для создания одинакового ограничения по оси Y на двух участках
f ,ax = plt.subplots(1,2,figsize = (30, 13),gridspec_kw={'width_ratios': [5, 1]})
df.plot(ax = ax[0], linewidth = 2.5)
ylim = [lower_limit,upper_limit]
ax[0].set_ylim(ylim)
ax[1].hist(data,normed =1, bins = num_bin, color = 'yellow' ,alpha = 1)
ax[1].set_ylim(ylim)
просто напоминание, plt.hist(range=[low, high])
гистограмма автоматически plt.hist(range=[low, high])
диапазон, если указанный диапазон больше, чем max & min точек данных. Поэтому, если вы хотите указать номер диапазона оси Y, я предпочитаю использовать set_ylim