使用 matplotlib 3d 绘图时如何避免标签和刻度的重叠?
下面的代码生成一个 matplotlib-figure。此图显示了在标签中使用 LaTeX 时标签填充和 3D 绘图的问题。(或许有足够权限的人可以发个对应的图)
如果在标签中不使用 LaTeX 有一个解决方案: 在 matplotlib 的 Axes3D 中调整标签定位
如果您使用 LaTeX 来呈现标签,那么开头的 \n 将被忽略(或产生错误)!从 \phantom 和 \vspace*,从 \mbox 到 minipage,我已经尝试了很多,但它不起作用!mplot3d + x,y,zlabel + LaTeX 有什么解决方案吗
在 mplot3d API 文档(http://matplotlib.org/mpl_toolkits/mplot3d/api.html)中提到,参数 labelpad 没有被喷射实现“目前,labelpad 对标签没有影响。”。
例子:
import matplotlib.pyplot as pyplot
import mpl_toolkits.mplot3d
from matplotlib.pyplot import rc
rc('text', usetex = True)
rc('font', size=9, family='serif', serif='Times')
fig = pyplot.figure(figsize=(8/2.5, 5/2.5))
ax = fig.gca(projection='3d')
plot = ax.plot([.1,.2,.3],[.1,.2,.3])
xLabel = ax.set_xlabel('XxxXxxX')
yLabel = ax.set_ylabel('YyyYyyY')
zLabel = ax.set_zlabel('ZzzZzzZ') # \n in here produces an error or is ignored see below
pyplot.show()
...我尝试过的事情:
ax.set_ylabel(r"\phantom{x}" "\n" r'ABC', linespacing=-0.5)