Matplotlib Plot с более точными отметками, но без ярлыков - PullRequest
1 голос
/ 13 июня 2019

enter image description here Я пытаюсь создать график, на котором я настроил отметки на осях x и y. Но, как и в масштабе, я хотел бы, чтобы присутствовали более точные отметки, а отметки только для больших значений. Как показано на прилагаемом сюжете (что похоже на то, что я хочу).

поэтому я попытался:

ax.tick_params(labeltop=True, labelright=True)

Потому что мне нужны галочки со всех 4 сторон. и тогда я бы сделал что-то вроде этого:

ax.yaxis.set_ticks_position('both')
ax.xaxis.set_ticks_position('both') 

и затем укажите диапазон:

plt.xticks(np.arange(-1.20, -0.79, 0.04))
plt.yticks(np.arange(-1.0,1.2, 0.1))

Но мне бы хотелось, чтобы числовая маркировка была на каждой 5-й позиции (или на каждом 5-м тике)

1 Ответ

0 голосов
/ 13 июня 2019

Вот мое решение: (спасибо @Diziet)

from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,AutoMinorLocator)   
# Plotting codes go in here
ax.yaxis.set_ticks_position('both')# Ticks on all 4 sides                                                                                                                                                                                                                                    
ax.xaxis.set_ticks_position('both')                                                                                                                                                                                                                                    
plt.xticks(np.arange(-1.21, -0.79, 0.04)) # Axes ranges                                                                                                                                                                                                                             
plt.yticks(np.arange(-0.9,0.9, 0.1))                                                                                                                                                                                                                                   
ax.xaxis.set_major_locator(MultipleLocator(0.05)) # Intervals for major x-ticks                                                                                                                                                                                                                     
ax.xaxis.set_minor_locator(AutoMinorLocator()) # Minor ticks : Automatic filling based on the ytick range                                                                                                                                                                                                                        
ax.yaxis.set_major_locator(MultipleLocator(0.3))  # For y-ticks                                                                                                                                                                                                                     
ax.yaxis.set_minor_locator(AutoMinorLocator())       

Прилагается конечный продукт Plot with finer ticks

...