Я хочу построить некоторые данные с разбросом графика Matplotlib. Я использовал следующий код для построения данных как разброс с использованием тех же осей для разных подзаговоров.matplotlib изменение расстояния пробега по оси x
import numpy as np
import matplotlib.pyplot as plt
epsilon= np.array([1,2,3,4,5])
f, (ax1, ax2, ax3, ax4) = plt.subplots(4, sharex= True, sharey=True)
ax1.scatter(epsilon, mean_percent_100_0, color='r', label='Totaldehnung= 0.000')
ax1.scatter(epsilon, mean_percent_100_03, color='g',label='Totaldehnung= 0.003')
ax1.scatter(epsilon, mean_percent_100_05, color='b',label='Totaldehnung= 0.005')
ax1.set_title('TOR_R')
ax2.scatter(epsilon, mean_percent_111_0,color='r')
ax2.scatter(epsilon, mean_percent_111_03,color='g')
ax2.scatter(epsilon, mean_percent_111_05,color='b')
ax3.scatter(epsilon, mean_percent_110_0,color='r')
ax3.scatter(epsilon, mean_percent_110_03,color='g')
ax3.scatter(epsilon, mean_percent_110_05,color='b')
ax4.scatter(epsilon, mean_percent_234_0,color='r')
ax4.scatter(epsilon, mean_percent_234_03,color='g')
ax4.scatter(epsilon, mean_percent_234_05,color='b')
# Fine-tune figure; make subplots close to each other and hide x ticks for
# all but bottom plot.
f.subplots_adjust(hspace=0.13)
plt.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False)
plt.locator_params(axis = 'y', nbins = 4)
ax1.grid()
ax2.grid()
ax3.grid()
ax4.grid()
plt.show()
Теперь я хочу иметь ось x с меньшим пространством между каждой точкой. Я попытался изменить диапазон, но он не работал. Кто-нибудь может мне помочь?
Вы просто хотите, чтобы ваша фигура была «уже» в целом? Если это так, вы можете использовать аргумент ключевого слова 'figsize' в вашей команде' plt.subplots'. Если вы не просто хотите, чтобы ваша фигура была уже, вам нужно сказать немного больше о том, чего вы хотите. В частности, хотите ли вы получить лишние пробелы слева от вашей более жесткой оси X или справа или что-то еще? – 8one6
расстояния между 1,2,3 ... должны быть меньше, поэтому да более плотно расположенная по оси X. – user3616531