设置带有3d子图的图形大小



我有一个图,我想在2个子图中绘制3d散点和正常图。我使用这个代码

fig = plt.figure(1)
ax = fig.add_subplot(211, projection='3d')
ax2 = fig.add_subplot(212)

则使用ax和ax2在正确的位置绘制数据。但是我得到的数字太小了,我怎么才能让它变大呢?,将figsize=(w, h)添加到第一行没有任何效果,如果将其添加到第二行或第三行,则会导致错误。:

AttributeError: 'Axes3DSubplot'对象没有属性'set_figsize'

figsize=(w,h)添加到第一行应该可以达到目的。你说"没有效果"是什么意思?

例如:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig1=plt.figure(figsize=(8,5))
ax11=fig1.add_subplot(211,projection='3d')
ax12=fig1.add_subplot(212)
fig1.get_size_inches()
# array([ 8.,  5.])
fig2=plt.figure(figsize=(4,4))
ax21=fig1.add_subplot(211,projection='3d')
ax22=fig1.add_subplot(212)
fig2.get_size_inches()
# array([ 4.,  4.])
fig1.savefig('fig1.png',dpi=300)
fig2.savefig('fig2.png',dpi=300)

保存图片为png格式后:

$ identify fig1.png
>>> fig1.png PNG 2400x1500 2400x1500+0+0 8-bit sRGB 118KB 0.000u 0:00.000
$ identify fig2.png
>>> fig2.png PNG 1200x1200 1200x1200+0+0 8-bit sRGB 86.9KB 0.000u 0:00.000

相关内容

  • 没有找到相关文章

最新更新