• 【Python】PyCharm中matplotlib.pyplot.imshow()无法绘图


    在利用Anaconda3 + PyCharm 2018 实现神经网络的实践中,涉及到一个根据像素数组绘制图像的实践,如下所示(这里只需要关心image_array即可,对源数据的预处理可忽略):

    # coding=utf-8
    # author: BebDong
    # 10/23/18
    
    import numpy
    import matplotlib.pyplot as plt
    
    # 打开并读取文件
    data_file = open("mnist_dataset/mnist_train_100.csv")
    data_list = data_file.readlines()
    data_file.close()
    
    # image_array是一个28*28的像素数组
    all_pixels = data_list[0].split(',')
    image_array = numpy.asfarray(all_pixels[1:]).reshape((28, 28))
    plt.imshow(image_array, cmap='gray', interpolation='None')
    

      

    当运行时,控制台无报错信息,正常执行结束退出(exit code 0),在SciView出处无绘制出的指定图像。

    解决
    在网上找了一些资料,大部分解决方案是“调用show()”,也没有给出原因,但其实也不行。
    经过一番查找,发现需要引入另外一个叫做pylab的包即可。(我想原因得靠自己查阅官方文档了)

    # coding=utf-8
    # author: BebDong
    # 10/23/18
    
    import numpy
    import matplotlib.pyplot as plt
    
    # 直接使用plt.imshow无法显示图片,需要导入pylab包
    import pylab
    
    # 打开并读取文件
    data_file = open("mnist_dataset/mnist_train_100.csv")
    data_list = data_file.readlines()
    data_file.close()
    
    # 拆分绘制28*28图形
    all_pixels = data_list[0].split(',')
    image_array = numpy.asfarray(all_pixels[1:]).reshape((28, 28))
    plt.imshow(image_array, cmap='gray', interpolation='None')
    pylab.show()

    ---------------------
    作者:Beb1997
    来源:CSDN
    原文:https://blog.csdn.net/qq_28869927/article/details/83316023
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    跳跃表原理
    查看Oracle操作历史的试图
    【概念】为什么有时全表扫描比通过索引扫描效率更高
    oracle驱动表以及如何确定驱动表
    SpringBoot学习(三)-----配置Bean
    leetcode 面试题58
    leetcode 1365 有多少小于当前数字的数字
    leetcode 1342 将数字变成 0 的操作次数
    leetcode1313 解压缩编码列表
    leetcode 1071 字符串的最大公因子
  • 原文地址:https://www.cnblogs.com/mjn1/p/11209921.html
Copyright © 2020-2023  润新知