Comparação de Linhas de Base de Texto

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, compararemos as linhas de base de texto calculadas para mathtext e usetex usando a biblioteca Matplotlib. Criaremos um gráfico que contém dois subgráficos, um com mathtext e o outro com usetex. Cada subgráfico exibirá quatro strings de teste com diferentes estilos e posições.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as bibliotecas necessárias

Precisamos importar a biblioteca matplotlib.pyplot para criar o gráfico.

import matplotlib.pyplot as plt

Definir a fonte do Matplotlib

Precisamos definir a fonte a ser usada para o texto do Matplotlib. Usaremos a fonte Computer Modern e a definiremos como a fonte padrão para o Matplotlib.

plt.rcParams.update({"mathtext.fontset": "cm", "mathtext.rm": "serif"})

Criar os subplots

Criaremos uma figura que contém dois subplots, um com mathtext e o outro com usetex. Usaremos o método subplots() para criar os subplots.

fig, axs = plt.subplots(1, 2, figsize=(2 * 3, 6.5))

Adicionar strings de teste ao gráfico

Adicionaremos quatro strings de teste a cada subplot, cada uma com um estilo e posição diferentes. Usaremos o método text() para adicionar o texto aos subplots.

test_strings = ["lg", r"$\frac{1}{2}\pi$", r"$p^{3^A}$", r"$p_{3_2}$"]
for ax, usetex in zip(axs, [False, True]):
    ax.axvline(0, color="r")
    for i, s in enumerate(test_strings):
        ax.axhline(i, color="r")
        ax.text(0., 3 - i, s,
                usetex=usetex,
                verticalalignment="baseline",
                size=50,
                bbox=dict(pad=0, ec="k", fc="none"))

Definir os limites e rótulos do gráfico

Definiremos os limites e rótulos do gráfico para corresponder à saída desejada.

for ax in axs:
    ax.set(xlim=(-0.1, 1.1), ylim=(-.8, 3.9), xticks=[], yticks=[])
    ax.set_title(f"usetex={ax.usetex}\n")

Exibir o gráfico

Exibiremos o gráfico usando o método show().

plt.show()

Resumo

Neste laboratório, aprendemos como comparar as linhas de base de texto calculadas para mathtext e usetex usando Matplotlib. Criamos um gráfico que continha dois subplots, um com mathtext e outro com usetex. Adicionamos quatro strings de teste a cada subplot, cada uma com um estilo e posição diferentes. Finalmente, exibimos o gráfico para comparar as linhas de base de texto.