我正在使用matplotlib来生成一个3d trisurf图。除了我想把y-轴倒转,所以原点是0,0而不是0,100,我所有的东西都在工作。我已经浏览过matplotlib axes3d API,无法找到如何做到这一点。这是我的代码:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
# my data, xs=xaxis, ys=yaxis, zs=zaxis
mortar_xs = []
cycles_ys = []
score_zs = []
#... populate my data for the 3 arrays: mortar_xs, cycles_ys, score_zs
# plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_trisurf(mortar_xs,cycles_ys,score_zs,cmap=cm.coolwarm)
ax.set_zlim(bottom=0.0,top=1.0)
ax.legend()
ax.set_xlabel("# Mortar")
ax.set_ylabel("# Goals")
ax.set_zlabel("# Score")
plt.show()我生成的图形如下所示,但我需要'#目标值‘或y轴倒置,这样原点是0,0而不是0,100。如果可能的话,我想在不改变数据的情况下这样做。

发布于 2019-11-26 16:25:19
tmdavison的评论是我想要的:
ax.set_ylim(0,100)
或
ax.set_ylim(100,0)
发布于 2015-12-01 22:12:26
最简单的方法是使用ax.invert_yaxis()
https://stackoverflow.com/questions/34026512
复制相似问题