简体   繁体   English

3d plot 中缺少脊椎

[英]Missing spine in 3d plot

I use the following code to alter the appearance of the axis of a 3d-plot in matplotlib:我使用以下代码更改 matplotlib 中 3d 绘图轴的外观:

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.grid(False)
ax.xaxis.pane.set_edgecolor('black')
ax.yaxis.pane.set_edgecolor('black')
ax.zaxis.pane.set_edgecolor('black')
ax.xaxis.pane.fill = False
ax.yaxis.pane.fill = False
ax.zaxis.pane.fill = False
plt.show()

However, one spine is missing.然而,一根脊椎不见了。 How can I activate the missing spine (black line on the left)?如何激活丢失的脊椎(左侧的黑线)? The code above produces this plot:上面的代码产生了这个 plot:

在此处输入图像描述

I developed this program for you, it works fine:我为您开发了这个程序,它运行良好:

from scipy import integrate
import pylab
from mpl_toolkits.mplot3d import axes3d, art3d

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
fig = plt.figure()
fig.set_edgecolor("green")

ax = fig.add_subplot(projection='3d')
ax.grid(False)
def lims(mplotlims):
    scale = 1.021
    offset = (mplotlims[1] - mplotlims[0])*scale
    return mplotlims[1] - offset, mplotlims[0] + offset
xlims, ylims, zlims = lims(ax.get_xlim()), lims(ax.get_ylim()), 
lims(ax.get_zlim())
i = pylab.array([xlims[0], ylims[0], zlims[0]])
f = pylab.array([xlims[0], ylims[0], zlims[1]])
p = art3d.Poly3DCollection(pylab.array([[i, f]]))
p.set_color('black')
ax.add_collection3d(p)

ax.xaxis.pane.set_edgecolor('black')
ax.yaxis.pane.set_edgecolor('black')
ax.zaxis.pane.set_edgecolor('black')


ax.xaxis.pane.fill = False
ax.yaxis.pane.fill = False
ax.zaxis.pane.fill = False

plt.show()

Output: Output:

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM