试玩了一下 matplotlib, 感觉是:很酥狐吖~ 完全不像 ggplot 那样云里雾里,但是后者展现出的图要漂亮优雅许多。

x = linspace(0, 10, 100) //初始化一个 [0, 10] 的向量,一共 100 个。
print(x) // 我们可以打印看下这个变量长啥样:

[ 0. 0.1010101 0.2020202 0.3030303 0.4040404
0.50505051 0.60606061 0.70707071 0.80808081 0.90909091
1.01010101 1.11111111 1.21212121 1.31313131 1.41414141
1.51515152 1.61616162 1.71717172 1.81818182 1.91919192
2.02020202 2.12121212 2.22222222 2.32323232 2.42424242
2.52525253 2.62626263 2.72727273 2.82828283 2.92929293
3.03030303 3.13131313 3.23232323 3.33333333 3.43434343
3.53535354 3.63636364 3.73737374 3.83838384 3.93939394
4.04040404 4.14141414 4.24242424 4.34343434 4.44444444
4.54545455 4.64646465 4.74747475 4.84848485 4.94949495
5.05050505 5.15151515 5.25252525 5.35353535 5.45454545
5.55555556 5.65656566 5.75757576 5.85858586 5.95959596
6.06060606 6.16161616 6.26262626 6.36363636 6.46464646
6.56565657 6.66666667 6.76767677 6.86868687 6.96969697
7.07070707 7.17171717 7.27272727 7.37373737 7.47474747
7.57575758 7.67676768 7.77777778 7.87878788 7.97979798
8.08080808 8.18181818 8.28282828 8.38383838 8.48484848
8.58585859 8.68686869 8.78787879 8.88888889 8.98989899
9.09090909 9.19191919 9.29292929 9.39393939 9.49494949
9.5959596 9.6969697 9.7979798 9.8989899 10. ]

plot(x, sin(x))  // 画第一条曲线
plot(x, 0.5*cos(2*x)) // 画第二条曲线
title("A Matplotlib Plot")
text(1, -0.8, "A Text Label")
ylim(-1.1, 1.1) // 限定 y 轴的取值范围。不限定的画曲线就会顶到边界,很不好看

然后划出来的图就会长这样:

x1=linspace(1, 10, 40)
plot(x1, sqrt(x1), 'k-') // k 表示黑色, b 表示蓝色,沿用 matlab 中的助记符

这时候就会 print 出 figure(1):

figure(2)  // 新建一个画布
x2=linspace(1, 10, 100)
plot(x1, sin(x1), 'k--', x2, 0.2*cos(3*x2), 'k:')

figure(1) // 重新选择 figure(1)
plot(x1, 3*exp(-x1/2), linestyle='None', color='white', marker='o', markersize=7) // 在上面增加一个用记号 'o' 表示的散点图
savefig('graph1.png') // 存为 png 格式的

clf() // 擦除画布
ps = plot(x, sin(x), x, cos(x))
t1=text(1, -0.5, "hello")
t2=text(3, 0.5, "hello again")

这时候图片长这样:

t1.set_position([7, -.5])
t2.set(position=[5, 0], text="good bye")

这时候虽然改变了 t1, t2 的位置信息 / text, 但是图片还是跟原来一样,没有改变,必须显示的调用 draw() 函数才可以改变:

draw()

这时候图片就更新成这样了:

setp([t1,t2], fontsize=10)

但是上面这一句可以立即更新图片,字体变小了:

t2.remove()  // 擦除一个文字
Artist.remove(ps[1]) // 擦除一条曲线
draw()

擦除完之后:

matplotlib 初使用的更多相关文章

  1. Matplotlib初体验

    为一个客户做了关于每个差异otu在时间点上变化的折线图,使用python第一次做批量作图的程序,虽然是很简单的折线图,但是也是第一次使用matplotlib的纪念. ps:在第一个脚本上做了点小的改动 ...

  2. 机器学习初入门03 - Matplotlib

    这一部分很简单,所以以代码的形式给出,在实际学习开发中,Matplotlib最好只把它当成一个画图的工具来用,没有必要深究其实现原理是什么. 一.折线图的绘制 import pandas as pd ...

  3. 初接触matplotlib

    1,绘制简单的折线图. 1 import matplotlib.pyplot as plt 2 3 square = [1,4,9,16,25] 4 5 plt.plot(square) 6 plt. ...

  4. matplotlib之散点图

    环境:windows系统,anaconda3 64位,python 3.6 1.初认识 基本代码如下: import numpy as np import matplotlib.pyplot as p ...

  5. (数据科学学习手札35)tensorflow初体验

    一.简介 TensorFlow时谷歌于2015年11月宣布在Github上开源的第二代分布式机器学习系统,目前仍处于快速开发迭代中,有大量的新功能新特性在陆续研发中: TensorFlow既是一个实现 ...

  6. matplotlib 知识点13:绘制散点图(scatter函数精讲)

    散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合. 用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间 ...

  7. python基础之Matplotlib库的使用一(平面图)

    在我们过去的几篇博客中,说到了Numpy的使用,我们可以生成一些数据了,下面我们来看看怎么让这些数据呈现在图画上,让我们更加直观的来分析数据. 安装过程我就不再说了,不会安装的,回去补补python最 ...

  8. CNN Mini-Fashion数据集以及Pytorch初体验

    下载Fasion-MNIST数据集 Fashion-MNIST是一个替代原始的MNIST手写数字数据集的另一个图像数据集. 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供.其涵盖了来 ...

  9. matplotlib命令与格式:参数配置文件与参数配置

    转自 https://my.oschina.net/swuly302/blog/94805 自定义matplotlib Created Saturday 08 December 2012 5.1 ma ...

随机推荐

  1. PHP提取身份证号码中的生日并验证是否成年的函数

    php 提取身份证号码中的生日日期以及确定是否成年的一个函数.可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下: <?php //用php从身份证中提取生日,包括15位 ...

  2. 本地化web开发的一个例子-jquery.i18n.properties

    关键字:Web本地化, jquery,jquery.i18n.properties. 运行环境:Chrome, IE. 本文介绍使用jquery.i18n.properties对网站前端实现本地化,支 ...

  3. building hadoop2.4.1 on centos7[在centos7上面构建hadoop2.4.1]

    本文介绍在centos7上面通过hadoop2.4.1源码构建hadoop distribution 版本,即hadoop的运行版本. 为何要自己building,而不用Apache的distribu ...

  4. Codeforces 612E - Square Root of Permutation

    E. Square Root of Permutation A permutation of length n is an array containing each integer from 1 t ...

  5. socket编程中用到的头文件整理

    socket编程中需要用到的头文件 sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arp ...

  6. MVC-Razor引擎布局

    ViewBag.Title:标题 layout: @ViewBag.Title view: @{ViewBag.Title="标题"} @RenderBody():视图的内容直接渲 ...

  7. hdu 1423

    最长公共上升子序列:O(n*m)的算法: #include<cstdio> #include<cstring> #define maxn 1000 using namespac ...

  8. angular2地址栏路由配置

    一步一步route过去可以,地址栏直接写url怎么就找不到了呢? 这关乎于Nodejs的express路由规则(http://hm4123660.iteye.com/blog/2195035) exp ...

  9. HDU4521+线段树+dp

    题意:在一个序列中找出最长的某个序列.找出的序列满足题中的条件. 关键:对于 第 i 个位置上的数,要知道与之相隔至少d的位置上的数的大小.可以利用线段树进行统计,查询.更新的时候利用dp的思想. / ...

  10. [AC自动机]HDOJ3695 Computer Virus on Planet Pandora

    题意:给t.n,t个案例,n个字符串 下面给n+1个字符串,n个互不相同的小串,最后一个是模式串 模式串会出现[qx]的形式,q为数字,x为一个字母 问n个小串在模式串中出现的个数,正着出现.反着出现 ...