Python之matplotlib学习(一)
小试牛刀
在上一节已经安装好matplotlib模块,下面使用几个例子熟悉一下。
对应的一些文档说明:
http://matplotlib.org/1.3.1/api/pyplot_summary.html
例子1:二维坐标——整数
[root@typhoeus79 20131113]# ipython
In [1]: import matplotlib.pyplot as plt In [2]: x = range(6) In [3]: plt.plot(x,[xi*xi for xi in x])
Out[3]: [<matplotlib.lines.Line2D at 0x1cf4050>] In [4]: plt.savefig('test1.png')
输出结果:

上图的例子可以看到直线不平滑,原因在于样本点太少的缘故。
例子2:二维坐标——浮点数
[root@typhoeus79 20131113]# ipython
In [1]: import matplotlib.pyplot as plt
In [2]: import numpy as np
In [3]: x = np.arange(0.0,6.0,0.1)
In [4]: plt.plot(x,[xi * xi for xi in x])
Out[4]: [<matplotlib.lines.Line2D at 0x1cf1f10>]
In [5]: plt.savefig('test2.png')
range以及xrange是python中有的,而arange是numpy特有的。
输出结果:

例子3:二维坐标——多个曲线
[root@typhoeus79 20131113]# ipython
In [1]: import matplotlib.pyplot as plt
In [2]: import numpy as np
In [4]: x = range(5)
In [5]: x
Out[5]: [0, 1, 2, 3, 4]
In [6]: plt.plot(x,[xi * 1.5 for xi in x])
Out[6]: [<matplotlib.lines.Line2D at 0x1cf2c50>]
In [7]: plt.plot(x,[xi * 3.0 for xi in x])
Out[7]: [<matplotlib.lines.Line2D at 0x1cf2ed0>]
In [8]: plt.plot(x,[xi / 3.0 for xi in x])
Out[8]: [<matplotlib.lines.Line2D at 0x1cf5590>]
In [9]: plt.savefig('test3.png')
输出结果:

例子4:二维坐标——多个曲线,改进版本
In [1]: import matplotlib.pyplot as plt
In [2]: import numpy as np
In [3]: x = range(1,5)
In [4]: plt.plot(x,[xi * 1.5 for xi in x],x,[xi * 3.0 for xi in x],x,[xi / 3.0 for xi in x])
Out[4]:
[<matplotlib.lines.Line2D at 0x1cf3150>,
<matplotlib.lines.Line2D at 0x1cf33d0>,
<matplotlib.lines.Line2D at 0x1cf3a90>] In [5]: plt.savefig('test4.png')
多个数据使用一个plot进行输出
例子5:二维坐标——多个曲线,使用numpy进行改进
In [1]: import matplotlib.pyplot as plt
In [2]: import numpy as np
In [3]: x = np.arange(1,5) In [4]: plt.plot(x,x*1.5,x,x*3.0,x,x/3.0)
Out[4]:
[<matplotlib.lines.Line2D at 0x1cf1fd0>,
<matplotlib.lines.Line2D at 0x1cf4290>,
<matplotlib.lines.Line2D at 0x1cf4950>] In [5]: plt.savefig('test5.png')
《Getting Started with Matplotlib》
Python之matplotlib学习(一)的更多相关文章
- Python之matplotlib学习(四)
例子12:ipython使用--pylab参数,默认加入matplotlib模块 [root@typhoeus79 guosong]# ipython --pylab WARNING: IPython ...
- Python之matplotlib学习(三)
例子11-1:横坐标时间的处理 from matplotlib.dates import datestr2num,DateFormatter import matplotlib.dates as da ...
- Python之matplotlib学习(二)
例子6.中文标签测试 #!/usr/bin/env python2.7 #-*- coding:utf-8 -*- import matplotlib.pyplot as plt import num ...
- Python:2D画图库matplotlib学习总结
本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...
- 常用统计分析python包开源学习代码 numpy pandas matplotlib
常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis
- Comprehensive learning path – Data Science in Python深入学习路径-使用python数据中学习
http://blog.csdn.net/pipisorry/article/details/44245575 关于怎么学习python,并将python用于数据科学.数据分析.机器学习中的一篇非常好 ...
- Matplotlib学习笔记(二)
原 Matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .car ...
- Matplotlib学习笔记(一)
原 matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .ca ...
- Matplotlib学习---用matplotlib画箱线图(boxplot)
箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...
随机推荐
- 关于http与https区别
http与https: http叫超文本传输协议,信息为明文传输.https是具有安全性的传输协议,是由http+ssl层,需要到ca申请证书,一般需要费用.信息为加密传输,需要验证用户身份.二者的端 ...
- 学习总结---OVS
OVS的组成 OVS的匹配条件和动作 OVS的发展方向 OVS的实践 OVS与Namespace配合模拟租户之间的数据通信 基本思路: Namespace模拟出不同的主机,这些主机之间的通信需要通过S ...
- 小白学Maven第一篇配置
在百度上搜Maven进入官网,然后在进Download里面把apache-maven-3.5.0-bin.zip(记得不要下错)下载下来 然后进行安装 (前提你配置了Java如下图) Java配置: ...
- 热门开源项目:Guns-后台管理系统
Guns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时 ...
- git的使用(进阶篇)
如何处理代码冲突 冲突合并一般是因为自己的本地做的提交和服务器上的提交有差异,并且这些差异中的文件改动,Git不能自动合并,那么就需要用户手动进行合并 如我这边执行git pull origin ma ...
- 移动端自动化自动化(Android&iOS)——Appium
Appium-Python 移动端自动化环境搭建 Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及Firefox ...
- OpenWRT 恢复出厂设置命令
如果通过无线或者有线口无法连接到router,可以用恢复某些设置重新设置路由器. 1. 开机,等着一个工作灯亮的时候立即按下rest键2秒,然后就开始拼命闪烁,很好现在进入failsafe模式了. 2 ...
- 用 Smali 手写一个可运行的 HelloWorld!!!
一.前言 Android 的 App 实际上并不是运行在 Java 虚拟机中,而是运行在 Dalvik 虚拟机中.Dalvik 虚拟机对 Java 虚拟机做了一些额外的优化,让它更适用于移动设备.而 ...
- java多线程开发容易犯的错误
昨天在社区上看到有人讨论多线程使用,多线程遇到一些问题以及一些使用技巧记录一下.为什么要使用多线程, 不能是为了用而用,和设计模式一样用的合理,会让程序更易于理解,用的不合理反而会让程序变得更难理解. ...
- code forces 436 C. Bus
C. Bus time limit per test 2 seconds memory limit per test 256 megabytes input standard input output ...