#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Apr 26 11:38:01 2026

@author: ojacques
"""

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import MultipleLocator, AutoMinorLocator

# t vai de 0 até 100
t = np.arange(0.0, 100.0, 0.1)
s = np.sin(0.1 * np.pi * t) * np.exp(-t * 0.01)+np.cos(0.2*np.pi*t)

fig, ax = plt.subplots()
ax.plot(t, s)


# Cria um gráfico com marcas de escala principais (major ticks) que sejam múltiplos 
# de 20 e marcas de escala secundárias (minor ticks) que sejam múltiplos de 5. 
# Os rótulos da marcas dea escala principais estão com a formatação '.0f', mas sem 
# rotular as marcas de escala secundárias. A string é usada diretamente; ]
# o `StrMethodFormatter` é criado automaticamente.

#Escala maior multiplos de 20
ax.xaxis.set_major_locator(MultipleLocator(20))
#ax.xaxis.set_major_formatter('{x:.0f}')

# Escala menor sem rótulos e múltiplos de 5.
# O default é NullFormatter.
ax.xaxis.set_minor_locator(MultipleLocator(5))

#ax.grid()
ax.grid(which='major', linestyle='-',linewidth=0.5, color='black')
ax.grid(which='minor', linestyle=':',linewidth=0.5, color='gray')
#ax.grid(which='both')
plt.show()


#-------------------Outras dicas--------------------------------------
# ax.xaxis.grid(True, which='minor')
# ax.xaxis.grid(True, which='major')
# ax.xaxis.grid(True, which='both')
# ax.grid(which='major')
# ax.grid(which='minor')
# ax.grid(which='both')

#------------------Também poderíamos usar ax.yaxis.grid()--------------