[英]Make a custom axes values on 3d surface plot in Matplotlib
如何更改Matplotlib中3D曲面图中的图表上显示的轴值?
我在X轴上有16、32、64和128个值,但是matplotlib显示10、20、30、40等。我该怎么做才能正确显示它(我的意思是准确地是16、32、64和128个值)?
下面是代码:
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
plt.title("Just simple text of 3D plot")
X = [
[16, 16, 16, 16, 16, 16, 16],
[32, 32, 32, 32, 32, 32, 32],
[64, 64, 64, 64, 64, 64, 64],
[128, 128, 128, 128, 128, 128, 128]
]
Y = [
[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 7],
[1, 2, 3, 4, 5, 6, 7]
]
Z = [
[550 ,700 ,650 ,550 ,300 ,100 ,5],
[650 ,760 ,720 ,620 ,350 ,150 ,15],
[720 ,800 ,780 ,700 ,500 ,250 ,50 ],
[580 ,690 ,600 ,550 ,250 ,50 ,5 ]
]
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=0, antialiased=False)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.view_init(elev=33, azim=155)
plt.savefig("3d_test.png")
我认为以下将做:
ax.set_xticks([16,32,64,128])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.