如何解决将 3D 绘图保存在 python 中的正确位置
我正在尝试将曲面图导出为 .png 文件。出于某种原因,保存图与 spyder 中显示的图的 3D 方向不对应。这是我的代码:
import csv
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator
import matplotlib as mpl
import numpy as np
with open(r'path','r') as f:
voltpertime = list(csv.reader(f,delimiter=","))
voltpertime = np.array(voltpertime[0:],dtype=np.float)
Z= np.flipud(voltpertime)
fig,ax = plt.subplots(subplot_kw={"projection": "3d"})
# Make data.
X = np.arange(1,36,1)
Y = np.arange(-4,8,0.1)
X,Y = np.meshgrid(X,Y)
# Plot the surface.
norm = mpl.colors.normalize(vmin=-0.5,vmax=7)
surf = ax.plot_surface(X,Y,Z,cmap=cm.jet,linewidth=1,antialiased=False,norm=norm)
# Customize the z axis.
ax.set_zlim(-3,7)
ax.zaxis.set_major_locator(LinearLocator(4))
ax.zaxis.set_major_formatter('{x:.02f}')
plt.colorbar(surf,shrink=0.5,aspect=5,label='current (nA)',pad = 0.1)
plt.yticks((-4,-2,2,4,6,8),("8","6","4","2","0","-2","-4"))
# rotate the axes and update
for angle in range(160,360):
ax.view_init(35,angle)
plt.draw()
plt.pause(.001)
fig.savefig(r'path',transparent = True,bBox_inches= 'tight',dpi=600,edgecolor= None)
plt.show()
这是 spyder 中的情节:
这是我保存时的情节:
我想准确地导出图在 spyder 中的显示方式。
有什么想法吗?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。