读书笔记5基于matplotlib画图

一、导入需要的模块

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.stats as stats

二、画基本图形

1、plot画图

y=np.random.randn(100)
plt.plot(y,‘b-‘)
plt.xlabel(‘x‘)
plt.ylabel(‘y‘)
plt.title(u‘title‘)
plt.show()

可选参数如下所示:

也可以通过更改参数来改变画图效果

x=np.cumsum(np.random.rand(100))
plt.plot(y,label=‘line label‘,color=‘r‘,linestyle=‘-‘,marker=‘o‘)
plt.show()

可选的参数有

2、scatter画图,使用两个相同大小的一维数组产生。

例如:数据服从正态分布,相关系数是0.5

z=np.random.randn(100,2)
z[:,1]=0.5*z[:,0]+np.sqrt(0.5)*z[:,1]
x=z[:,0];
y=z[:,1];
plt.scatter(x,y);
plt.show()

参数也是可以修改的例如:

z=np.random.randn(100,2)
z[:,1]=0.5*z[:,0]+np.sqrt(0.5)*z[:,1]
x=z[:,0];
y=z[:,1];
plt.scatter(x,y,marker=‘s‘,c=‘r‘);
plt.show()

3、画条形图bar,需要两个一位数组,第一个是横坐标,每个条形图的开始位置;纵坐标是条形图的高度

y=np.random.rand(5);
x=np.arange(5);
plt.bar(x,y)
plt.show()

修改他的显示属性,可以使用一个颜色数组来指定每个条形图的颜色。

y=np.random.rand(5);
x=np.arange(5);
colors=[‘#FF0000‘,‘#FFFF00‘,‘#00FF00‘,‘#00FFFF‘,‘#0000FF‘]
plt.bar(x,y,width=0.5,color=colors,edgecolor=‘#000000‘,linewidth=5)
plt.show()

4、pie图表,使用一个一维数组来表示,不要求累加和是1,可以使人以大小的正数。

x=np.arange(1,8);
labels=[‘label1‘,‘label2‘,‘label3‘,‘label4‘,‘label5‘,‘label6‘,‘label7‘]
plt.pie(x,labels=labels)
plt.show()

5、直方图hist,需要一个数组,bins参数表示将数据分成几组,默认是10组。

x=np.random.randn(2000);
plt.hist(x,bins=30);
plt.show()

如果想要生成累计直方图需要使参数cumulative为true

x=np.random.randn(1000);
plt.hist(x,bins=20,cumulative=True);
plt.show()

6、在同一个图上画出多张图表,需要首先使用figure()函数生成一个画板,画子图时需要使用sp=add_subplot(m,n,p)来表示子图。m表示行,n表示列,p表示第几个图。

返回的是子图的句柄用于设置一些参数。最后要想显示出来需要使用draw()函数,将这些子图画在画板上,然后用show()函数显示出来。

fig = plt.figure()
ax = fig.add_subplot(2, 2, 1)
y = np.random.randn(100)
plt.plot(y);
ax.set_title(‘1‘)

y = np.random.rand(5)
x = np.arange(5)
ax = fig.add_subplot(2, 2, 2)
plt.bar(x, y)
ax.set_title(‘2‘);

y = np.random.rand(5)
y = y / np.sum(y)
y[y < .05] = .05
ax = fig.add_subplot(2, 2, 3)
plt.pie(y)
ax.set_title(‘3‘)

plt.draw()
plt.show()

时间: 2024-08-25 21:48:15

读书笔记5基于matplotlib画图的相关文章

《Essential C++》读书笔记 之 基于对象编程风格

<Essential C++>读书笔记 之 基于对象编程风格 2014-07-13 4.1 如何实现一个class 4.2 什么是Constructors(构造函数)和Destructors(析构函数) 4.3 何谓mutable(可变)和const(不变) 4.4 什么是this指针 4.5 Static Class Member(静态的类成员) 4.6 打造一个Iterator Class 4.7 合作关系必须建立在友谊的基础上 4.8 实现一个copy assignment operat

《软件测试自动化之道》读书笔记 之 基于Windows的UI测试

<软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序  启动待测程序  获得待测程序主窗体的句柄  获得有名字控件的句柄  获得无名字控件的句柄  发送字符给控件  鼠标单击一个控件  处理消息对话框  处理菜单  检查应用程序状态  示例程序参考 本章主要讲述如何使用底层的Windows自动化技术通过用户界面来测试应用程序.这些技术涉及Win32 API的调用(比如FindWindow()函数)以及想待测程序发送Wind

《软件测试自动化之道》读书笔记 之 基于反射的UI测试

<软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序  启动待测程序  设置窗体的属性  获取窗体的属性  设置控件的属性  获取控件的属性  方法调用  待测程序代码 测试自动化程序的任务 返回 基于反射的ui测试自动化程序,要完成的6项任务: 通过某种方式从测试套件程序中运行待测程序(AUT: Applicaton Under Test),以便于两个程序之间进行通信 操纵应用程序的窗体,从而模拟用户对窗体所实施的moving和r

机器学习实战读书笔记(四)基于概率论的分类方法:朴素贝叶斯

4.1 基于贝叶斯决策理论的分类方法 朴素贝叶斯 优点:在数据较少的情况下仍然有效,可以处理多类别问题 缺点:对于输入数据的准备方式较为敏感 适用数据类型:标称型数据 贝叶斯决策理论的核心思想:选择具有最高概率的决策. 4.2 条件概率 4.3 使用条件概率来分类 4.4 使用朴素贝叶斯进行文档分类 朴素贝叶斯的一般过程: 1.收集数据 2.准备数据 3.分析数据 4.训练算法 5.测试算法 6.使用算法 朴素贝叶斯分类器中的另一个假设是,每个特征同等重要. 4.5 使用Python进行文本分类

驱动开发读书笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统

驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflash或者nandflash:只好用另一块arm9(i.mx283a)来继续学习: 从开发教程上面可知,烧写uboot和Linux是通过各种批处理脚本和exe程序来执行的,称之为固件烧写,然而并没有需要我们选择uboot路径.Linux内核和文件系统的地方.这样的话是不是意味着只能烧写官方默认提供的文件

读书笔记-基于IP的物联网架构技术与应用

最近在看<基于IP的物联网架构,技术与应用>这边书,将自己的读书笔记,记录于此. 一.什么是智能物件? 定义:智能物件是装备了传感器,微处理器,通信装置和电源的设备. 重要属性:与现实世界的交互 和 通信能力 面临挑战: 节点级挑战:能耗.体积大小.成本.资源限制,电源效率,计算能力 网络级挑战:规模大数据量多,网络大小影响(smart object networks)的路由协议设计.路由可以集中生成,即由一个中央服务器为整个网络计算路由图,也可以是分布式的,即每个节点独立决定每条消息发送到哪

《基于Android的读书笔记api》

1.     系统的需求分析 1.1系统目标 目本程序旨在开发一款简单实用.易操作的一款读书笔记软件. 1.2功能需求 该记事本软件应该具有以下功能: (1)登录 (2)书籍分类管理 (3)书籍管理 (4)我的读书笔记 (5)汇总每个用户的笔记数量 (6)统计某一个用户的每一本书的笔记数量 2.     系统的概要设计 该软件是一款是基于Android开发的手机应用,简单实用,易于上手. 2.1    运行环境 1.Android手机或平板电脑:主频在1Ghz及以上,内存为1GB以上,系统版本为

《机器学习实战》读书笔记2:K-近邻(kNN)算法

声明:文章是读书笔记,所以必然有大部分内容出自<机器学习实战>.外加个人的理解,另外修改了部分代码,并添加了注释 1.什么是K-近邻算法? 简单地说,k-近邻算法采用测量不同特征值之间距离的方法进行分类.不恰当但是形象地可以表述为近朱者赤,近墨者黑.它有如下特点: 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 适用数据范围:数值型和标称型 2.K-近邻算法的工作原理: 存在一个样本数据集合,也称作训练样本集,并且样本集中的每个数据都存在标签,即我们知道样本集中

读书笔记:技术的本质-技术是什么,它是怎样进化的 (布莱恩?阿瑟)

读书笔记算不算原创? - page 30 然而.作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其它什么东西融合得更为紧密,那就是自然. 在最深的层次上.人的存在应该和自然,和我们最初的环境,以及最初使我们成为人的那些条件相融合. ========== - page 36 现在机器被用来生产机器了,同一时候它又变成了以后同类机器的父母. ========== - page 43 技术的建构不仅来自已有技术的组合.还来自于对自然现象的捕捉和征服.在 ========== - page 4