Python之matplotlib学习(二)
例子6、中文标签测试
#!/usr/bin/env python2.7
#-*- coding:utf-8 -*- import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as fm fontpath = '/usr/share/fonts/chinese/TrueType/ukai.ttf'
myfont = fm.FontProperties(fname=fontpath)
#定义一个myfont变量, myfont = matplotlib.font_manager.FontProperties(fname=fontpath); fontpath就是字体文件的路径
x = np.arange(1,5)
plt.plot(x,x*3.0,x,x*1.5,x,x/3.0) plt.grid(True) #添加背景方格
plt.xlabel(u'X轴',fontproperties=myfont)
plt.ylabel(u'Y轴',fontproperties=myfont)
plt.title(u'中文测试',fontproperties=myfont) plt.savefig('test3.png')
测试效果:

参考文献
http://hi.baidu.com/bithigher/item/b9ce6d85dc102adc98255fb7
例子7、添加图例
#!/usr/bin/env python2.7
#-*- coding:utf-8 -*- import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as fm fontpath = '/usr/share/fonts/chinese/TrueType/ukai.ttf'
myfont = fm.FontProperties(fname=fontpath) x = np.arange(1,5)
#设置legend,图例说明
plt.plot(x, x*1.5, label = "Normal")
plt.plot(x, x*3.0, label = "Fast")
plt.plot(x, x/3.0, label = "Slow") plt.grid(True)
plt.xlabel(u'X轴',fontproperties=myfont)
plt.ylabel(u'Y轴',fontproperties=myfont)
plt.title(u'中文测试',fontproperties=myfont) #Place a legend on the current axes
#设置图例显示的位置
plt.legend(loc='upper left')
#Save the current figure
plt.savefig('test4.png')
输出效果:

对于图例的其他位置,如下:
=============== =============
Location String Location Code
=============== =============
'best' 0
'upper right' 1
'upper left' 2
'lower left' 3
'lower right' 4
'right' 5
'center left' 6
'center right' 7
'lower center' 8
'upper center' 9
'center' 10
=============== =============
可以选择best,默认upper right
可以批量添加legend,但是必须和plot对应:
In [4]: plt.plot(x, x*1.5)
In [5]: plt.plot(x, x*3.0)
In [6]: plt.plot(x, x/3.0)
In [7]: plt.legend(['Normal', 'Fast', 'Slow'])
例子8、输出图像
相关函数:
#Save the current figure
plt.savefig('test4.png')
输出图像的格式:
[root@typhoeus79 20131114]# file test4.png
test4.png: PNG image data, 800 x 600, 8-bit/color RGBA, non-interlaced
并且按照文件扩展名来区分,默认分辨率是800*600
两个参数控制输出图像的大小:
1、figure size
mpl.rcParams['figure.figsize'] = (16,9)
2、DPI
In [1]: import matplotlib as mpl In [2]: mpl.rcParams['figure.figsize']
Out[2]: [8.0, 6.0] In [3]: mpl.rcParams['savefig.dpi']
Out[3]: 100
matplotlib.rcParams
An instance of RcParams for handling default matplotlib values.
改变分辨率:
plt.savefig('test4.png',dpi=200)
[root@typhoeus79 20131114]# file test4.png
test4.png: PNG image data, 1600 x 1200, 8-bit/color RGBA, non-interlaced
例子9、输出为其他格式
#!/usr/bin/env python2.7
#-*- coding:utf-8 -*-
import matplotlib as mpl
mpl.use('Agg')#before importing pyplot
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as fm fontpath = '/usr/share/fonts/chinese/TrueType/ukai.ttf'
myfont = fm.FontProperties(fname=fontpath) x = np.arange(1,5)
plt.plot(x, x*1.5, label = "Normal")
plt.plot(x, x*3.0, label = "Fast")
plt.plot(x, x/3.0, label = "Slow") plt.grid(True)
plt.xlabel(u'X轴',fontproperties=myfont)
plt.ylabel(u'Y轴',fontproperties=myfont)
plt.title(u'中文测试',fontproperties=myfont) plt.legend(loc='best') #以文件名后缀作为区分
plt.savefig('test4.pdf',dpi=500)
或者PS,SVG其他格式都可以。
例子10 使用GTK
>>> import matplotlib as mpl
>>> mpl.use('GTKAgg') # to use GTK UI
>>>
>>> import matplotlib.pyplot as plt
>>> plt.plot([1,3,2,4])
[<matplotlib.lines.Line2D object at 0x02ED3630>]
>>> plt.show()
输出结果:

(待续)
Python之matplotlib学习(二)的更多相关文章
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python的数据处理学习(二)
本文参考Paul Barry所著的<Head First Python>一书,参考代码均可由http://python.itcarlow.ie/站点下载.本文若有任何谬误希望不吝赐教~ 二 ...
- Python之matplotlib学习(一)
小试牛刀 在上一节已经安装好matplotlib模块,下面使用几个例子熟悉一下. 对应的一些文档说明: http://matplotlib.org/1.3.1/api/pyplot_summary.h ...
- Python之matplotlib学习(四)
例子12:ipython使用--pylab参数,默认加入matplotlib模块 [root@typhoeus79 guosong]# ipython --pylab WARNING: IPython ...
- python flask框架学习(二)——第一个flask程序
第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...
- Python之matplotlib学习(三)
例子11-1:横坐标时间的处理 from matplotlib.dates import datestr2num,DateFormatter import matplotlib.dates as da ...
- Python - 3.6 学习二
Python 的高级特性 切片 对于指定索引范围取值的操作,Python提供了slice方法,类似于Excel中数据透视表的切片器. >>> L = ['Michael', 'Sar ...
- Python:2D画图库matplotlib学习总结
本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
随机推荐
- 实战之elasticsearch集群及filebeat server和logstash server
author:JevonWei 版权声明:原创作品 实战之elasticsearch集群及filebeat server和logstash server 环境 elasticsearch集群节点环境为 ...
- Python系列之文件操作、冒泡算法、装饰器、及递归
文件处理 python对文件进行读写操作的方法与具体步骤,包括打开文件.读取内容.写入文件.文件中的内容定位.及关闭文件释放资源等 open().file(),这个两函数提供了初始化输入\输出(I\O ...
- 基于java的后台截图功能的实现
Java后台截图功能的实现 背景介绍: 在近期开发的可视化二期项目中的邮件项目中,邮件中的正文中含有图片.该图片的产生是将一些html网页转为图片格式,刚开始考虑使用第三方组件库html2image和 ...
- Java面向对象 网络编程 上
Java面向对象 网络编程 上 知识概要: (1)网络模型 (2)网络通讯要素 (3)UDP TCP 概念 (4)Socket (5)UDP TCP 传输 ...
- JAVA几种常见的编码格式(转)
简介 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换较多.本文将向你详细介绍 Java 中编码问题出现的根本原因,你将了解到:Jav ...
- Java爬虫
作为一位Java爬虫的初学者,分享一下自己的心得.所用到的jar包 org.codehaus.jettison.jar jsoup-1.7.3.jar个人认为爬虫的实现机制:获取Docume对象-&g ...
- db2备份还原
还原步骤:创建好数据库后进入该数据库 .restore db TSMESDB from D:\ICSS\dbData on D:\ICSS\dbData into TSMESDB redirect. ...
- fedora 19 gnome 3.8 关闭笔记本盖子的动作
gnome-tweak-tool里没有了相关选项,但是又想让关闭盖子不挂起,后来看看才知道gnome3.8不再提供这功能,而是交给systemd来处理,所以估计用dconf-edit在gnome的po ...
- (转)java内存泄漏的定位与分析
转自:http://blog.csdn.net/x_i_y_u_e/article/details/51137492 1.为什么会发生内存泄漏 java 如何检测内在泄漏呢?我们需要一些工具进行检测, ...
- MongoDB聚合(count、distinct、group、MapReduce)
1. count:返回集合中文档的数量. db.friend.count() db.friend.count({'age':24}) 增加查询条件会使count查询变慢. 2. distinct:找出 ...