一、保存图片

可以通过savefig()方法,将绘制的图形保存为文件:

importnumpy as npimportmatplotlib.pyplot as plt

x= np.linspace(0,10,100)

fig=plt.figure()

plt.plot(x,np.sin(x),'-')

plt.plot(x,np.cos(x),'--')

fig.savefig('fig.png')

可以通过下面的方法查看系统支持的图片格式:

fig.canvas.get_supported_filetypes()

savefig方法有一些可定制的参数,比如你想得到一个500dpi的图片,并且尽量少的空白:

plt.savefig('image.jpg', dpi=600,bbox_inches='tight')

下面是savefig方法的参数说明:

fname:文件路径或文件对象,根据扩展名推断文件格式

dpi:分辨率,默认100

format: 指定文件格式

bbox_inches: 要保存的图片范围。‘tight’表示去掉周边空白。

facecolor:子图之外的背景颜色,默认白色

edgecolor:边界颜色

二、图像接口

Matplotlib有两种画图接口:一是便捷的MATLAB风格接口,一个是功能更强大的面向对象接口。

MATLAB接口

MATLAB风格的工具位于pyplot接口中,比如:

x = np.linspace(0,10,100) #生成点列表

plt.figure() #创建图形

plt.subplot(2,1,1) #行、列、子图编号

plt.plot(x,np.sin(x))

plt.subplot(2,1,2)

plt.plot(x,np.cos(x))#第二个子图

这种接口最重要的特性是有状态的,它会持续跟踪当前的图形和坐标轴,所有plt命令都可以使用。可以使用plt.gcf()方法获取当前图形和plt.gca()获取当前坐标轴的具体信息。

但是这种接口也有问题。比如,当创建第二个子图的时候,怎么才能回到第一个子图,并增加新内容呢?虽然也能实现,但方法比较复杂。而下面的方式则不存在这个问题。

面向对象的接口

这种方式可以适应更加复杂的场景,更好地控制你的图形。画图函数不再受到当前‘活动’图形或者坐标轴的限制,而变成了显式的Figure和Axes的方法。下面是个例子:

fig, ax = plt.subplots(2) #ax是包含两个Axes对象的数组

ax[0].plot(x,np.sin(x)) #在每个对象上调用plot()方法

ax[1].plot(x,np.cos(x))

三、显示中文

在默认情况下,如果使用中文,会显示为方框乱码,解决这个问题只要在代码的起始处进行如下设置:

plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文

plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

以上方法是只能临时使用,每次都要执行。如果想一劳永逸,那么必须修改配置文件。

importmatplotlib as mpl

mpl.matplotlib_fname()

用文本编辑器打开上面代码运行后的文件,找到下面这行:

#font.serif : DejaVu Serif, Bitstream Vera Serif,...

将前面的注释符号去掉。

然后去C:\Windows\Fonts\Microsoft中复制一个你想要的字体ttf文件,或者别处的字体文件,将它粘贴到..\mpl-data\fonts\ttf文件夹中,并给它重命名为Vera.ttf。

还有一个坐标轴的负号正常显示的配置修改:

#去掉注释符号,同时,改为False

axes.unicode_minus : False

python plot如何保存图片_Matplotlib 保存图片、图画接口和显示中文的使用方法相关推荐

  1. word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法

    word2vec介绍 word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离. 它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出 ...

  2. Python+matplotlib绘图时显示中文的设置方法

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: =================== 在使用Python+mat ...

  3. python plot画柱状图_matplotlib使用:画柱状图

    matplotlib画柱状图十分简单,首先需要导入matplotlib中的pyplot,这个就是能够画图的类啦 import matplotlib.pyplot as plt 画柱状图十分简单,使用b ...

  4. 【Python】matplotlib plt显示中文乱码解决方法

    原因:matplotlib库中没有中文字体,使用plt绘图时会出现乱码 如果遇到在matplotlib图例显示中文乱码情况,解决方法就是在程序最前进行下面参数设置: import matplotlib ...

  5. Python 绘图显示中文

    python显示中文字符异常 在python绘图时,如 import pandas as pd import numpy as np data = pd.DataFrame(np.random.ran ...

  6. python读取txt中的一列称为_python读取中文txt文本的方法

    对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unico ...

  7. python中文显示不出来_彻底解决Python里matplotlib不显示中文的问题

    在很长一段时间里用Python绘图,matplotlib都不能很好的显示中文,起初是认为我的pycharm里的设置问题,但是发现同样的问题在spyder里也同样的出现了,虽然有的地方可以用英文实在不行 ...

  8. python中文字体下载_Python在Matplotlib图中显示中文字体的操作方法

    1. 说明 本篇主要针对在Ubuntu系统中,matplotlib显示不了中文的问题,尤其是在无法安装系统字体的情况下,解决Python绘图时中文显示的问题. 2. 在系统中安装字体 $ fc-lis ...

  9. python matplotlib 绘制图片并保存图片

    python matplotlib 绘制图片并保存图片 import matplotlib.pyplot as plt import numpy as npdef plt_image(tl, x_da ...

最新文章

  1. 病情高度活动的RA病人的感染风险增加
  2. uni-app中的页面间使用$on与$emit
  3. ppt批量缩略图_PPT如何在文件夹下显示缩略图的方法
  4. LiveVideoStackCon讲师热身分享 ( 五 ) —— 建立中国自主视频技术生态
  5. Spark安装配置指南
  6. 开始做在线拍照功能了
  7. php ord函数 中文,php ord 函数与中文乱码解决方法_PHP教程
  8. InnoDB的auto_increment指定值被重置问题
  9. Java学习日报—Java并发—2021/11/22
  10. 柬埔寨程序员的计算机梦想
  11. Apache2.4.x与Apache2.2.x的一些区别
  12. [导入]Reporting Services 3: 报表模型项目
  13. js使用slice函数拆分数组
  14. iphone safaric中将mp4保存到本地相册
  15. 推荐几个在线处理文件、图片、音视频的工具,免费又好用!
  16. 【Codeforces】1665E MinimizOR 题解
  17. outlook 服务器身份验证,Outlook 加载项中的身份验证选项
  18. 国外邮箱哪家好?好用的公司邮箱怎么申请?
  19. 结合泛函极值_泛函的极值
  20. GD32F303CCT6与GD32F407VKTC spi 主从通信

热门文章

  1. visual studio 2015下载地址
  2. 奥运会数据可视化展示
  3. 初识Flutter中的Layer
  4. Unity3d基础教程7-灯光(灯光阴影参数设置及lightmapping制作)
  5. PS2021 入门使用技巧
  6. 浙江公务员考试申论指导作答的思路与方法
  7. 二叉查找树的平衡(DSW)
  8. 虚拟信用卡最大的发行商有哪些?
  9. PHP预约模块开发,PHP实验室预约管理系统(源代码+论文)
  10. 快速扫描3D建模技术,仅仅只需要这三个步骤