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

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 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来