Próbuję ustalić, jak ustawić/poprawić pozycję etykiet zaznaczania dla wykresu 3D matplotlib. Etykiety Tick nie są wyrównane z kleszczami. Wydaje się, że kwestia ta jest szczególnie widoczna, gdy wymagane są liczne etykiety zaznaczenia.pozycje etykiet zaznaczania dla matplotlib 3D plot
Zmodyfikowałem przykład (http://matplotlib.org/examples/mplot3d/polys3d_demo.html) z dokumentacji matplotlib, aby zilustrować moje pytanie.
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()
Więc pytanie brzmi: w jaki sposób mogę uzyskać etykiety tick wyrównać ze stanowiskami kleszczy?
Jako uwaga do OP: 'va' jest synonimem' verticalalignment' jak w moim przykładzie. To samo dotyczy "ha" i "horizontalalignment". – Hooked
Tak, dziękuję za wyjaśnienie, że skróty są rozkoszne, gdy je często piszemy. :) –
Dzięki @Rutger. Sądzę, że to jest najlepsze, co można zrobić. Już grałem z tymi (ha, va) i prawie dostałem to, czego chcę. Działa lepiej na tym zabawkowym przykładzie, niż na rzeczywistym problemie, który próbuję rozwiązać. Czy możesz podać przykład, jak zmniejszyć wypełnienie? Może dodaj do swojej istniejącej odpowiedzi. –