English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Formattazione asse Matplotlib

Guida dettagliata su come formattare l'asse in Matplotlib

A volte, un punto o più punti sono molto più grandi rispetto a un grande insieme di dati. In questo caso, è necessario impostare la scala degli assi in modo logaritmico (log) invece della scala normale. Questa è la scala logaritmica. In Matplotlib, è possibile impostare l'attributo xscale o vscale dell'oggetto axes in log.

A volte è necessario visualizzare una distanza aggiuntiva tra il numero dell'asse e l'etichetta dell'asse. La proprietà labelpad di qualsiasi asse (x, y o entrambi) può essere impostata sul valore desiderato.

Con l'aiuto degli esempi seguenti, viene dimostrato i due funzionalità sopra menzionate. La sottografica di destra ha una scala logaritmica, mentre la sottografica di sinistra ha un'etichetta dell'asse x con una distanza più lontana.

Esempio di codice di riferimento:

# Nome file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 # Mostra impostazioni cinesi...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Passo uno (sostituisci il font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # Passo due (risoluzione del problema di visualizzazione del segno meno sui assi negativi)
 fig, axes = plt.subplots(1, 2, figsize=(10, 4))
 x = np.arange(1, 5)
 axes[0].plot(x, np.exp(x))
 axes[0].plot(x, x**2)
 axes[0].set_title("Scala normale")
 axes[1].plot(x, np.exp(x))
 axes[1].plot(x, x**2)
 axes[1].set_yscale("log")
 axes[1].set_title("Scala logaritmica (y)")
 axes[0].set_xlabel("asse x")
 axes[0].set_ylabel("asse y")
 axes[0].xaxis.labelpad = 10
 axes[1].set_xlabel("asse x")
 axes[1].set_ylabel("asse y")
 plt.show()

Esegui il codice di esempio sopra riportato e ottieni i seguenti risultati -

La punta dell'asse è la linea che collega le linee di etichetta dell'asse, dividendo i limiti dell'area di disegno. La punta dell'oggetto dell'asse si trova in alto, in basso, a sinistra e a destra. Ogni punta può essere formattata specificando il colore e la larghezza. Se il colore di qualsiasi margine è impostato su none, può essere reso invisibile.

Esempio di codice di riferimento:

# Nome file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 # Mostra impostazioni cinesi...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Passo uno (sostituisci il font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # Passo due (risoluzione del problema di visualizzazione del segno meno sui assi negativi)
 fig = plt.figure()
 ax=plt.subplot(111)
 ax.spines['bottom'].set_color('blue')
 ax.spines['left'].set_color('red')
 ax.spines['left'].set_linewidth(2)
 ax.spines['right'].set_color(None)
 ax.spines['top'].set_color(None)
 ax.plot([1,2,3,4,5])
 plt.show()#