精华内容
下载资源
问答
  • 【Python】解决使用 plt.savefig 保存图片时一片空白

    万次阅读 多人点赞 2016-10-24 15:52:08
    问题当使用如下代码保存使用plt.savefig 保存生成的图片时,结果打开生成的图片确实一片空白。import matplotlib.pyplot as plt""" 一些画图代码 """plt.show() plt.savefig("filename.png")原因其实产生这个现象的...

    更新

    这里我会列出对本文的更新。

    • 2017 年 9 月 28 日:修正几处错字,优化排版。

    问题

    当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白。

    import matplotlib.pyplot as plt
    
    """ 一些画图代码 """
    
    plt.show()
    plt.savefig("filename.png")
    

    原因

    其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。


    解决

    知道了原因,就不难知道解决办法了,解决办法有两种:

    1. plt.show() 之前调用 plt.savefig()

      import matplotlib.pyplot as plt
      
      """ 一些画图代码 """
      
      plt.savefig("filename.png")
      plt.show()
      
    2. 画图的时候获取当前图像(这一点非常类似于 Matlab 的句柄的概念):

      # gcf: Get Current Figure
      fig = plt.gcf()
      plt.show()
      fig1.savefig('tessstttyyy.png', dpi=100)
      

    END

    展开全文
  • 问题:如何将array保存到txt文件中?如何将存到txt文件中的数据读出为ndarray类型?python如何保存矩阵,保存matrix,保存numpy.ndarray python中list、array、matrix之间的基本区别:直通车 分析 a = np...

    2018博客之星评选,如果喜欢我的文章,请投我一票,编号:No.009 支持连接 ,万分感谢!!!

    问题:如何将array保存到txt文件中?如何将存到txt文件中的数据读出为ndarray类型?python如何保存矩阵,保存matrix,保存numpy.ndarray

    python中list、array、matrix之间的基本区别:直通车
    ###分析

    a = np.arange(0,12,0.5).reshape(4,-1)  
    np.savetxt("a.txt", a) # 缺省按照'%.18e'格式保存数据,以空格分隔  
    np.loadtxt("a.txt")  
    array([[  0. ,   0.5,   1. ,   1.5,   2. ,   2.5],  
           [  3. ,   3.5,   4. ,   4.5,   5. ,   5.5],  
           [  6. ,   6.5,   7. ,   7.5,   8. ,   8.5],  
           [  9. ,   9.5,  10. ,  10.5,  11. ,  11.5]])  
    

    有些时候会报错:TypeError: Mismatch between array dtype (‘object’) and format specifier (’%.18e’) 其中format specifier (’%.18e’)表示传入的格式,
    常用的有%d,%s

     fmt : str or sequence of strs, optional
            A single format (%10.5f), a sequence of formats, or a
            multi-format string, e.g. 'Iteration %d -- %10.5f', in which
            case `delimiter` is ignored. For complex `X`, the legal options
            for `fmt` are:
                a) a single specifier, `fmt='%.4e'`, resulting in numbers formatted
                    like `' (%s+%sj)' % (fmt, fmt)`
                b) a full string specifying every real and imaginary part, e.g.
                    `' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej'` for 3 columns
                c) a list of specifiers, one per column - in this case, the real
                    and imaginary part must have separate specifiers,
                    e.g. `['%.3e + %.3ej', '(%.15e%+.15ej)']` for 2 columns
    
    np.savetxt("a.txt", a, fmt="%d", delimiter=",") #改为保存为整数,以逗号分隔  
    np.loadtxt("a.txt",delimiter=",") # 读入的时候也需要指定逗号分隔  
    array([[  0.,   0.,   1.,   1.,   2.,   2.],  
           [  3.,   3.,   4.,   4.,   5.,   5.],  
           [  6.,   6.,   7.,   7.,   8.,   8.],  
           [  9.,   9.,  10.,  10.,  11.,  11.]])  
    

    案例:

    trainMat=[[1,1,1],[1,0,2,0,1],[1,2,3,4]]
    numpy.savetxt("filename.txt",trainMat,fmt="%s",delimiter=",")
    

    这里写图片描述
    但是在加载过程中会报错!

    c=numpy.loadtxt("filename.txt",delimiter=",",skiprows=0,dtype=int)
    

    这里写图片描述

    如果处理下:加个b

    c=numpy.loadtxt(b"filename.txt",delimiter=",",skiprows=0,dtype=int)
    

    返回的结果反而变了,当成了一个数组,因此,在用loadtxt适用于1维
    这里写图片描述

    ##结论:
    Numpy能够读写磁盘上的文本数据或二进制数据。
    存取文本文件

    ###np.loadtxt和np.savetxt可以读写1维和2维的数组:
    同时可以指定各种分隔符、针对特定列的转换器函数、需要跳过的行数等。

    np.loadtxt(FILENAME, dtype=int, delimiter=’ ')
    np.savetxt(“a.txt”, a, fmt="%d", delimiter=",")

    例子:

    a=np.arange(0,10).reshape(2,-1)
    array([[0, 1, 2, 3, 4],
           [5, 6, 7, 8, 9]])
    np.savetxt("a.txt",a) #缺省按照'%.18e'格式保存数据,以空格分隔
    np.loadtxt("a.txt")
    array([[ 0.,  1.,  2.,  3.,  4.],
           [ 5.,  6.,  7.,  8.,  9.]])
    
    a=np.arange(0,10,0.5).reshape(4,-1)
    
    array([[ 0. ,  0.5,  1. ,  1.5,  2. ],
           [ 2.5,  3. ,  3.5,  4. ,  4.5],
           [ 5. ,  5.5,  6. ,  6.5,  7. ],
           [ 7.5,  8. ,  8.5,  9. ,  9.5]])
    np.savetxt("a.txt",a,fmt="%d",delimiter=",")#改为保存为整数,以逗号分隔
    np.loadtxt("a.txt",delimiter=",")#load时也要指定为逗号分隔
    array([[ 0.,  0.,  1.,  1.,  2.],
           [ 2.,  3.,  3.,  4.,  4.],
           [ 5.,  5.,  6.,  6.,  7.],
           [ 7.,  8.,  8.,  9.,  9.]])
    

    ###np.savez 多个数组保存

    如果你想将多个数组保存到一个文件中的话,可以使用numpy.savez函数。savez函数的第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1, …。savez函数输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save函数保存的npy文件,文件名对应于数组名。load函数自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容:

    >>> C=np.array([1,0,1,0])
    >>> np.savez("files.npz",A,B,C_array=C)
    >>> D=np.load("files.npz")
    >>> D['arr_0']
    array([[ 0,  1,  2,  3,  4],
           [ 5,  6,  7,  8,  9],
           [10, 11, 12, 13, 14]])
    >>> D['arr_1']
    array([[ 0,  1,  2,  3,  4],
           [ 5,  6,  7,  8,  9],
           [10, 11, 12, 13, 14]])
    >>> D['arr_2']
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
      File "D:\Python3\lib\site-packages\numpy\lib\npyio.py", line 255, in __getitem__
        raise KeyError("%s is not a file in the archive" % key)
    KeyError: 'arr_2 is not a file in the archive'
    >>> D['C_array']
    array([1, 0, 1, 0])
    

    如果你用解压软件打开files.npz文件的话,会发现其中有三个文件:arr_0.npy, arr_1.npy, C_array.npy,其中分别保存着数组A,B,C的内容
    ###np.load和np.save将数组以二进制格式保存到磁盘

    np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。

    >>> import numpy as np
    A = np.arange(15).reshape(3,5)
    >>> A
    array([[ 0,  1,  2,  3,  4],
           [ 5,  6,  7,  8,  9],
           [10, 11, 12, 13, 14]])
    >>> np.save("A.npy",A)   #如果文件路径末尾没有扩展名.npy,该扩展名会被自动加上。
    >>> B=np.load("A.npy")
    >>> B
    array([[ 0,  1,  2,  3,  4],
           [ 5,  6,  7,  8,  9],
           [10, 11, 12, 13, 14]])
    

    注:保存为Numpy专用的二进制格式后,就不能用notepad++等打开看了(乱码)。因此这种方式建议在不需要看保存文件内容的情况下使用。

    微信号
    展开全文
  • 怎么保存退出 vim 编辑

    万次阅读 多人点赞 2018-09-22 19:01:19
    保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vim :w file 将修改另外保存到file中,不退出vim :w! 强制保存,不推出vim :wq 保存文件并退出vim :wq! 强制保存文件,并退出vim q: 不保存文件,退出vim...

    怎么保存退出 vim 编辑

    博主的学习记录

    原文地址

    怎么保存退出vi编辑

    ESC键跳到命令模式,然后:

    • :w - 保存文件,不退出vim
    • :w file - 将修改另外保存到file中,不退出vim
    • :w! - 强制保存,不退出vim
    • :wq - 保存文件,退出vim
    • :wq! - 强制保存文件,退出vim
    • :q - 不保存文件,退出vim
    • :q! - 不保存文件,强制退出vim
    • :e! - 放弃所有修改,从上次保存文件开始再编辑。
    展开全文
  • 在使用Pillow中的Image.save()方法,使用默认参数保存jpg图片的过程中发现图片被压缩的很严重,导致原来很大的大小变成几十K。这是因为在保存为jpg的过程中,内部使用压缩算法对图片进行的压缩处理。 但是有些时候...

    在使用Pillow中的Image.save()方法,使用默认参数保存jpg图片的过程中发现图片被压缩的很严重,导致原来很大的大小变成几十K。这是因为在保存为jpg的过程中,内部使用压缩算法对图片进行的压缩处理。

    但是有些时候往往需要图片的大小不能变化太大或不能太小。所以在使用此方式时可以加入参数:

    imObj.save(img_name, quality=95)

    quality参数: 保存图像的质量,值的范围从1(最差)到95(最佳)。 默认值为75,使用中应尽量避免高于95的值; 100会禁用部分JPEG压缩算法,并导致大文件图像质量几乎没有任何增益。

    使用此参数后,图片大小会增加。如果图片的大小还不能满足你的需求,是否还有其他方式去增加图片大小呢?

    通过查阅资料并尝试,发现save方法还有一个可以配合quality使用的参数,能够大大增加图片大小:

    imObj.save(new_name, quality=95, subsampling=0)

    subsampling参数:子采样,通过实现色度信息的分辨率低于亮度信息来对图像进行编码的实践。 (参考:https://en.wikipedia.org/wiki/Chroma_subsampling)
    可能的子采样值是0,1和2,对应于4:4:4,4:2:2和4:1:1(或4:2:0?)。

    经过实践将值设为0便可以满足图片大小增大的需求。

    注意: 以上方法的参数只针对于保存为JPG/JPEG格式的图片的情况。

    参考文档:https://pillow.readthedocs.io/en/5.1.x/handbook/image-file-formats.html#jpeg

    参考文档:https://pillow.readthedocs.io/en/4.0.x/PIL.html


    有趣有料有温度,和我一起学技术!

    欢迎关注公众号 来思Go,收看更多赖克与甜甜的技术学习日常。

    展开全文
  • python matplotlib 画图保存图片简单例子

    万次阅读 多人点赞 2018-03-21 15:10:04
    保存的时候遇到过保存空白图像的问题,是因为将plt.savefig('./test2.jpg')放到了plt.show()之后,只要先保存在显示就可以正常保存了。 import numpy as np import matplotlib.pyplot as plt t = np.arange(0...
  • CentOS7怎么保存退出vi编辑

    万次阅读 2018-09-26 19:53:44
    CentOS7怎么保存退出vi编辑(转自阿里云) 保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并退出vi :wq! ...
  • 1、保存列表为.txt文件 #1/list写入txtipTable = ['158.59.194.213', '18.9.14.13', '58.59.14.21'] fileObject = open('sampleList.txt', 'w') for ip in ipTable: fileObject.write(ip) fileObject....
  • Linux下不保存退出以及相关退出命令

    万次阅读 多人点赞 2014-11-04 16:44:56
    网上搜了一下相关的保存及退出命令,但是最实用我这个情况的就是一个快捷键Ctrl+C。 鉴于以后会多多接触linux把其他的退出命令也copy过来,以备后用(该部分引用网友的方法): 当编辑完文件,准备退出Vi返回到shell...
  • Linux vim退出命令(保存与不保存

    万次阅读 多人点赞 2020-05-20 12:44:04
    :w- 保存文件,不退出 vim :w file-将修改另外保存到 file 中,不退出 vim :w!-强制保存,不退出 vim :wq-保存文件,退出 vim :wq!-强制保存文件,退出 vim :q-不保存文件,退出 vim :q!-不保存文件,强制退出 vim :...
  • numpy:将数组保存到txt文件中

    万次阅读 多人点赞 2017-03-11 17:22:24
    如何将array保存到txt文件中?2.如何将存到txt文件中的数据读出为ndarray类型? 需求:科学计算中,往往需要将运算结果(array类型)保存到本地,以便进行后续的数据分析。 解决:直接用numpy中的方法。 1:numpy....
  • vim 退出命令(保存、放弃保存)

    万次阅读 多人点赞 2019-07-10 13:54:26
    按ESC键 跳到命令模式,然后: :w         ...- 保存文件,不退出 vim ...-将修改另外保存到 file 中,不退出 vim :w!        ...
  • linux 进入编辑文件,保存退出相关命令

    万次阅读 多人点赞 2018-09-04 15:27:40
    1.进入文件 vim 文件名... :w 保存文件但不退出vi  :w file 将修改另外保存到file中,不退出vi  :w! 强制保存,不推出vi  :wq 保存文件并退出vi  :wq! 强制保存文件,并退出vi  :q 不保存文件,退出vi ...
  • word保存时出现tmp文件、保存出错的恢复方法 作者XP系统上安装卡巴斯基反病毒 2009 后,在使用office 2003时,经常会在同文件夹下出现随机命名,护展名为tmp的文件。作者多次重装系统,重装office都没解决这个问题,...
  • pandas保存文件

    万次阅读 2018-01-14 21:30:46
    1、使用DataFrame的to_csv函数保存文件 在使用DataFrame的to_csv保存文件的时候,会默认使用逗号作为分隔符,如果没有设置行列索引,也没有禁用行列索引保存的话,保存文件的时候,会默认加上由0开始的行列索引。 ...
  • eNSP保存配置

    千次阅读 多人点赞 2020-06-19 21:00:56
    使用eNSP的时候,保存拓扑图之后,配置也没有了,下一次启动又要重新配置。解决问题关键在于你真的“保存”了吗? 以单臂路由为例 配置好之后 连通性 接下来,保存 当然退出的时候也要求保存拓扑图。 保存...
  • SecureCRT自动保存日志设置

    万次阅读 2017-03-26 22:00:08
    串口日志打印由于打印数量大,经常会超过SecureCRT一屏显示范围,所以设置自动日志保存功能对于查找问题很有必要。 SecureCRT保存日志有2种方式:手动模式和自动模式。 一、手动模式: 选择“File”->
  • vscode自动保存

    千次阅读 2020-12-25 10:37:05
    最近在做一个网页,发现每次修改都要 ctrl+s 保存一遍,我这个懒人不想手都按痛,所以就想着有没有自动保存 方法1 文件----单击自动保存,点完后自动保存前面有一个勾 方法2 文件----首选项------设置------...
  • Halcon保存图像

    万次阅读 2018-08-15 10:20:55
    1、直接保存 write_image( image , 'bmp' , 0 , 'C:/桌面/1' ) 2、窗口保存 //带文字,region保存 dump_window_image( image , 20000) //图像名,窗口句柄 write_image( image , 'bmp' , 0 , 'C:/桌面/1' ) 3、...
  • Keras使用保存保存最好的模型

    千次阅读 2018-11-19 21:47:49
    14.1 使用保存点 长时间运行的程序需要能中途保存,加强健壮性。保存的程序应该可以继续运行,或者直接运行。深度学习的保存点用来存储模型的权重:这样可以继续训练,或者直接开始预测。 Keras有回调API,配合...
  • 如何将网页保存保存为PDF格式?

    万次阅读 2019-03-22 23:39:03
    如何将网页保存保存为PDF格式? 如上例所示,将网页在WPS中打开后(参考上例,不再放图),依次点击左上角“文件”、“另存为”菜单: 选取文件要保存的路径,输入要保存的文件名和文件类型,注意:文件类型要选...
  • Pytorch模型保存

    千次阅读 2019-03-14 14:30:07
    Pytorch 模型保存和加载保存和加载整个模型保存加载模型参数 保存和加载整个模型 torch.save(modelname, 'model.pkl') model = torch.load('model.pkl') 保存加载模型参数 torch.save(modelname.state_dict()...
  • python保存列表

    万次阅读 2018-08-24 15:03:58
    python保存列表 2018-8-24 保存为.txt文件 注:保存.txt需要将列表内容转为字符串格式 ##保存 ipTable=['123.111.111.1','111.111.111.1'] fileObject = open('sampleList.txt', 'w') for ip in ipTable: ...
  • js实现截图并保存图片(html转canvas、canvas转image)

    万次阅读 热门讨论 2018-07-23 15:16:43
    js实现截图并保存图片在本地(html转canvas、canvas转image) 一、html转canvas 需要的库html2canvas.js和canvas2image.js 话不多说,直接上代码! html &amp;amp;amp;amp;lt;h2&amp;amp;amp;amp...
  • navicat保存下来的查询放在哪个位置

    万次阅读 多人点赞 2018-11-19 00:42:31
    很多人在使用navicat的时候可能遇见过这个文件,我新建查询然后保存了之后把窗口关闭了之后却不知道保存的文件在哪个位置,我以图实例告诉大家navicat保存查询的位置 ...
  • 在 Linux 中使用 vim 时,输入 vim xxx.file 输入好文件内容之后,怎么保存呢? 按 ESC,左下角就可以进行输入 :w 保存但不退出 :wq 保存并退出 :q 退出 :q! 强制退出,不保存 :e! 放弃所有修改,从上次保存文件开始...
  • Typora恢复未保存文件的方法

    万次阅读 多人点赞 2018-09-12 13:49:21
    昨晚写了半夜的文档也不知道保没保存就关了typora睡觉了,今天打开一看,一个字都没有保存,心情是崩溃的,上午就在忧伤中度过。然后下午鬼使神差的一步到位的找到了恢复未保存文档的方法,分享出来希望看到的人心情...
  • 如何找回保存在浏览器保存的密码

    千次阅读 2018-11-20 09:54:40
    本文仅提供Firefox和Chrome找回保存的密码的途径。 1. Firefox查看账号密码方法 首先来看Firefox,首先打开Firefox--&gt;选项--&gt;隐私与安全(或者直接在网址输入栏输入 about:preferences#privacy 也...
  • word没保存却断电了该怎么办,如果你不知道怎么找回未保存的word文档那就要重新开始编辑word文档了~不想重来一次的话就来看看word没保存怎么恢复吧!而且还可以适用于恢复excel未保存文件! 1、打开我的电脑找到【C:...
  • python 保存list数据

    万次阅读 2019-06-24 15:34:31
    保存 filename = open(‘a.txt’, ‘w’) for value in a: filename.write(str(value)) filename.close() 读取 f= open(“a.txt”,“r”) a = f.read() f.close() 以上这种方法虽然占用空间小,但是原来的list格式会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 875,334
精华内容 350,133
关键字:

保存