大耳朵菜菜 2022-11-23 22:49 采纳率: 66.7%
浏览 468
已结题

Pycharm中Axes3D库调用不显示图片

问题遇到的现象和发生背景

最近在研究一个遗传算法的代码,结果能跑通,但是配套的图片没有出来,原链接有一个3D的二元函数图片。
后来发现,问题应该是出在from mpl_toolkits.mplot3d import Axes3D
可能是这个没有被正确调用,然后测试了一下代码,也没有图片。

用代码块功能插入代码,请勿粘贴截图
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D


x = np.random.uniform(10,40,30)
y = np.random.uniform(100,200,30)
z = np.random.uniform(10,20,30)


fig = plt.figure()
ax3d = Axes3D(fig)
ax3d.scatter(x,y,z,c="b",marker="*")

plt.show()

运行结果及报错内容

没有生成图片,按理来说会生成3D图片

img

我的解答思路和尝试过的方法

我不知道 Axes3D 这个库是包含在matplotlib 这个库里面的还是单独的一个库,matplotlib 和numpy 库都有正确安装,也没有搜索到Axes3D这个库,不知道问题出现在哪里。

我想要达到的结果

刚学python,请问有知道的朋友,这个问题如何解决,感谢!

  • 写回答

1条回答 默认 最新

  • 程序媛一枚~ Python领域新星创作者 2022-11-24 17:24
    关注

    设置
    import matplotlib as mpl
    mpl.use('module://backend_interagg')

    
    import matplotlib.pyplot as plt
    import numpy as np
    from mpl_toolkits.mplot3d import Axes3D
    
    # 保留到磁盘,需要设置 mpl.use('Agg') 同时注释掉plt.show()
    # 设置 mpl.use('module://backend_interagg') plt.show才能显示
    import matplotlib as mpl
    print(mpl.get_backend())
    # mpl.use('Agg') # 保留图片到png pdf等需要设置,并且注释掉plt.show()
    mpl.use('module://backend_interagg') # plt.show()需要设置
    
    x = np.random.uniform(10, 40, 30)
    y = np.random.uniform(100, 200, 30)
    z = np.random.uniform(10, 20, 30)
    
    fig = plt.figure()
    ax3d = Axes3D(fig)
    ax3d.scatter(x, y, z, c="b", marker="*")
    plt.show()
    # plt.savefig('plot_axe3D.png')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 请问1553 RT怎么测试,没有BC有方法吗
  • ¥100 业务编程如何选择学习方向和内容?
  • ¥15 wamp3.3.5安装完成后图标正常显示绿色,鼠标左右键点击图标均无反应。求解决方法。
  • ¥15 鼠标点击的这条记录了什么?
  • ¥15 在写pid调速的程序时,电机始终维持最大速度
  • ¥15 【有偿】调用DXGI截图初始化失败,提示0xf 887a0004
  • ¥15 请问如何查看手机root记录?
  • ¥15 商城小程序订单号重复
  • ¥15 学校优化算法sbo和蚁群算法怎么结合
  • ¥21 matlab怎么求时域信号的二阶导数