Sto cercando di capire come impostare/correggere la posizione delle etichette di graduazione per un grafico 3D matplotlib. Le etichette di spunta non sono allineate con le zecche. Il problema sembra essere particolarmente importante quando sono richieste molte etichette di graduazione.posizioni dell'etichetta di graduazione per trama 3D matplotlib
Ho modificato un esempio (http://matplotlib.org/examples/mplot3d/polys3d_demo.html) dalla documentazione di matplotlib per illustrare la mia domanda.
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.collections import PolyCollection
from matplotlib.colors import colorConverter
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(10,10))
ax = fig.gca(projection='3d')
cc = lambda arg: colorConverter.to_rgba(arg, alpha=0.6)
xs = np.arange(0, 10, 0.4)
verts = []
zs = np.arange(50)
for z in zs:
ys = np.ones(len(xs))*z
ys[0], ys[-1] = 0, 0
verts.append(list(zip(xs, ys)))
poly = PolyCollection(verts,facecolor='c')
poly.set_alpha(0.7)
ax.add_collection3d(poly, zs=zs, zdir='y')
ax.set_xlabel('X')
ax.set_xlim3d(0, 10)
ax.set_ylabel('Y')
ax.set_ylim3d(-1, len(zs))
ax.set_yticks(np.arange(len(zs)))
labels = {}
for l_c in zs:
labels[l_c] = 'This Looks Bad'
ax.set_yticklabels(labels,rotation=-15)
ax.set_zlabel('Z')
ax.set_zlim3d(0, ys.max())
plt.show()
Quindi la domanda è: come posso ottenere le etichette di graduazione per allinearsi con le posizioni di zecca?
Come nota all'OP: 'va' è sinonimo di' verticalalignment' come nel mio esempio. Lo stesso vale per 'ha' e' horizontalalignment'. – Hooked
Sì, grazie per aver chiarito che le abbreviazioni sono felici quando le digiti molto. :) –
Grazie a @Rutger. Immagino che questo sia il meglio che si possa fare. Avevo già giocato con questi (ha, va) e ho quasi ottenuto quello che volevo. Funziona meglio su questo esempio di giocattolo che sul problema reale che sto cercando di risolvere. Puoi dare un esempio di come ridurre il padding? Forse aggiungi alla tua risposta esistente. –