Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在matplotlib 3D绘图上反转Z轴_Python_Matplotlib_Mplot3d - Fatal编程技术网

Python 在matplotlib 3D绘图上反转Z轴

Python 在matplotlib 3D绘图上反转Z轴,python,matplotlib,mplot3d,Python,Matplotlib,Mplot3d,如何反转3D绘图z轴上的顺序(即负向上,正向下)?下面的代码生成一个底部朝下的圆锥体;是否有一个命令(如ax.reverse\u zlim3d(True)或其他什么)可以用来更改勾号顺序 下面的代码绘制了一个圆锥体,其底部朝下。我想反转z轴的顺序,这样它绘制时底部指向上,就像一个冰淇淋圆锥体,图的顶部是-1,而不是底部 from matplotlib import pyplot as p from mpl_toolkits.mplot3d import Axes3D # @UnusedIm

如何反转3D绘图z轴上的顺序(即负向上,正向下)?下面的代码生成一个底部朝下的圆锥体;是否有一个命令(如
ax.reverse\u zlim3d(True)
或其他什么)可以用来更改勾号顺序

下面的代码绘制了一个圆锥体,其底部朝下。我想反转z轴的顺序,这样它绘制时底部指向上,就像一个冰淇淋圆锥体,图的顶部是-1,而不是底部

from matplotlib import pyplot as p
from mpl_toolkits.mplot3d import Axes3D    # @UnusedImport

import numpy as np
from math import pi, cos, sin

z = np.arange(0, 1, 0.02)
theta = np.arange(0, 2 * pi + pi / 50, pi / 50)

fig = p.figure()
axes1 = fig.add_subplot(111, projection='3d')
for zval in z:
    x = zval * np.array([cos(q) for q in theta])
    y = zval * np.array([sin(q) for q in theta])
    axes1.plot(x, y, -zval, 'b-')
axes1.set_xlabel("x label")
axes1.set_ylabel("y label")
axes1.set_zlabel("z label")

p.show()

使用Axes3D的方法:

from matplotlib import pyplot as p
from mpl_toolkits.mplot3d import Axes3D    # @UnusedImport

import numpy as np
from math import pi, cos, sin

z = np.arange(0, 1, 0.02)
theta = np.arange(0, 2 * pi + pi / 50, pi / 50)

fig = p.figure()
axes1 = fig.add_subplot(111, projection='3d')
for zval in z:
    x = zval * np.array([cos(q) for q in theta])
    y = zval * np.array([sin(q) for q in theta])
    axes1.plot(x, y, -zval, 'b-')
axes1.set_xlabel("x label")
axes1.set_ylabel("y label")
axes1.set_zlabel("z label")

axes1.invert_zaxis()

p.show()

由于某些原因,这会从我的z轴上删除所有的记号和记号标签。使用invert.xaxis()和invert.yaxis()也会删除x轴和y轴上的记号和标签!!