数据分析与展示---Matplotlib基本绘图函数
一:基本绘图函数(这里介绍16个,还有许多其他的)
二:pyplot饼图plt.pie的绘制
三:pyplot直方图plt.hist的绘制
(一)修改第二个参数bins:代表直方图的个数,均分为多段,取其中的每段均值
(二)normed为1代表我们要使用归一化数据(所占比例)在y轴,为0表示每个期间所占个数
四:pyplot极坐标图bar的绘制(角度空间内展示效果不错,在生活中不常用)
五:pyplot散点图的绘制(面向对象绘制:各种绘制函数变为当前图表区域对象的方法,这是推荐的方法)
六:引力波的绘制
一:基本绘图函数(这里介绍16个,还有许多其他的)
二:pyplot饼图plt.pie的绘制
import matplotlib
import matplotlib.pyplot as plt labels = 'Frogs','Hogs','Dogs','Logs'
sizes = [,,,] #这是各个区域所占的大小,不一定是100,会自动换算为百分比
explode = (,0.1,,) #0.1是表示这个区域突出的程度 plt.pie(sizes,explode=explode,labels=labels,autopct="%1.1f%%",shadow=False,startangle=) #explode是突出比例,startangle起始角度
plt.show()
plt.axis("equal") #将饼图变水平
三:pyplot直方图plt.hist的绘制
import numpy as np
import matplotlib.pyplot as plt np.random.seed()
mu,sigma = , #均值和标准差
a = np.random.normal(mu,sigma,size=) #正态分布,size=100,表示一维数组,长度100 plt.hist(a,,normed=,histtype="stepfilled",facecolor="b",alpha=0.75)
plt.title("Histogram") plt.show()
def hist(x, bins=, range=None, normed=False, weights=None, cumulative=False,
bottom=None, histtype='bar', align='mid', orientation='vertical',
rwidth=None, log=False, color=None, label=None, stacked=False,
hold=None, data=None, **kwargs):
(一)修改第二个参数bins:代表直方图的个数,均分为多段,取其中的每段均值
plt.hist(a,,normed=,histtype="stepfilled",facecolor="b",alpha=0.75)
plt.hist(a,,normed=,histtype="stepfilled",facecolor="b",alpha=0.75)
plt.hist(a,,normed=,histtype="stepfilled",facecolor="b",alpha=0.75)
(二)normed为1代表我们要使用归一化数据(所占比例)在y轴,为0表示每个期间所占个数
plt.hist(a,,normed=,histtype="stepfilled",facecolor="b",alpha=0.75)
plt.hist(a,,normed=,histtype="stepfilled",facecolor="b",alpha=0.75)
四:pyplot极坐标图的绘制(角度空间内展示效果不错,在生活中不常用)
import numpy as np
import matplotlib.pyplot as plt
N = 20 #表示极坐标图中数据的个数
theta = np.linspace(0.0,*np.pi,N,endpoint=False) #起始值0,结束值2∏,元素个数(等分角度),是否将最后结束值放入数据
radii = *np.random.rand(N) #生成每个元素对应的值,一维数组含20列
width = np.pi/*np.random.rand(N) #∏/4*np.random..rand(N) 生成宽度值 ax = plt.subplot(,projection="polar") #111绘制一个绘图区域,projection给出了polar绘制极坐标图的指示
bars = ax.bar(theta,radii,width=width,bottom=0.0) #left(绘制极坐标区域中那些颜色区域的时候是从哪开始的<角度>),height(中心点到边缘的长度),width(每个绘图区域在角度范围内辐射的面积) for r,bar in zip(radii,bars):
bar.set_facecolor(plt.cm.viridis(r/.)) #使用for循环对每一个绘图区域进行颜色和透明度的设置,若是没有这个那么全是蓝色
bar.set_alpha(0.5) plt.show()
修改N和width
N =
width = np.pi/*np.random.rand(N)
五:pyplot散点图的绘制(面向对象绘制:各种绘制函数变为当前图表区域对象的方法,这是推荐的方法)
import numpy as np
import matplotlib.pyplot as plt fig, ax = plt.subplots() #返回图表以及图表相关的区域,为空代表绘制区域为111
ax.plot(*np.random.randn(),*np.random.randn(),'o') #randn标准正态分布,有100个元素在一维数组中,乘以10,使值分布大些,plot参数x,y‘o’是实心圆标记
ax.set_title("Simple Scatter") plt.show()
补充:
subplots和subplot方法作用相似:
subplots会返回一个图表和图表相关的区域
subplot只会返回区域
六:引力波的绘制
import numpy as np
import matplotlib.pyplot as plt
from scipy.io import wavfile #读取波形文件的库 rate_h, hstrain = wavfile.read(r"H1_Strain.wav") #读取下载好的音频文件,当文件符里面出现反斜杠时等转义特殊字符时,在字符前面添加2,表示原始的字符串
rate_l, hstrain = wavfile.read(r"L1_Strain.wav") #将结果赋给速率rate和数据strain
reftime,ref_H1 = np.genfromtxt("wf_template.txt").transpose() #获取提供的理论模型,时间序列和信号的数据 htime_interval = /rate_h #求倒数,获取波形的时间间隔
ltime_interval = /rate_l htime_len = hstrain.shape[]/rate_h #hstrain是一个矩阵,shape[]代表当前第一维度数据,数据点的个数,初一相应的rate,就可以获取在坐标轴上的总长度
htime = np.arange(-htime_len/,htime_len/,htime_interval) #绘制以原点为中心对称图形
ltime_len = lstrain.shape[]/rate_h
ltime = np.arange(-ltime_len/,ltime_len/,ltime_interval) fig = plt.figure(figsize=(,)) #创建一个大小为12*6的绘图区域 plth = fig.add_subplot() #将窗口绘制为2*2区域选取第1个区域
plth.plot(htime,hstrain,'y')
plth.set_xlabel("Time(Second)")
plth.set_ylabel("H1 Strain")
plth.set_title("H1 Strain") plth = fig.add_subplot() #将窗口绘制为2*2区域选取第2个区域
plth.plot(ltime,lstrain,'g')
plth.set_xlabel("Time(Second)")
plth.set_ylabel("L1 Strain")
plth.set_title("L1 Strain") plth = fig.add_subplot() #在这个图表分为两行一列取第二行
plth.plot(reftime,ref_H1)
plth.set_xlabel("Time(Second)")
plth.set_ylabel("Template Strain")
plth.set_title("Template")
fig.tight_layout() fig.tight_layout() #自动调整图像外部边缘 plt.savefig("./Gravitational_Waves_Original.png")
plt.show()
plt.close(fig)
#genfromtxt主要执行两个运算循环,第一个是将文件每一行都转换为字符串序列,第二个循环是将每个字符串序列转换为相应的数据类型,
#使用genfromtxt获取的是一个两行的矩阵
#使用transpose进行转置,赋给两个数组
'''
[,]
[,]
[,]
.....
[,]
------------>转置
[,,,...,]
[,,,...,]
'''
总结
数据分析与展示---Matplotlib基本绘图函数的更多相关文章
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- 第二周 数据分析之展示 Matplotlib基础绘图函数实例
Pyplot基础图表函数 Pyplot饼图的绘制: Pyplot直方图的绘制: Pyplot极坐标图的绘制: Pyplot散点图的绘制: 单元小结: import numpy as np import ...
- Python3 matplotlib的绘图函数subplot()简介
Python3 matplotlib的绘图函数subplot()简介 一.简介 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制 ...
- 数据分析与展示——Matplotlib库入门
Matplotlib库入门 Matplotlib库介绍 Matliotlib库是Python优秀的数据可视化第三方库. Matliotlib库的效果见:http://matplotlib.org/ga ...
- deep_learning_Function_ Matplotlib 3D 绘图函数 plot_surface 的 rstride 和 cstride 参数
今晚开始接触 Matplotlib 的 3D 绘图函数 plot_surface,真的非常强大,图片质量可以达到出版级别,而且 3D 图像可以旋转 ,可以从不同角度来看某个 3D 立体图,但是我发现各 ...
- 第二周 数据分析之展示 Matplotlib库入门
Matplotlib库介绍:优秀的数据可视化第三方库 使用:Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子库 ...
- 数据分析与展示---Matplotlib入门
简介: 一:Matplotlib库的介绍 (一)简单使用 二:区域划分subplot 三:plot函数 四:pyplot的中文显示 (一)方法一:修改rcParams参数 (二)方法二(推荐),在有中 ...
- matplotlib plot 绘图函数发生阻塞(block)时的解决方法
Is there a way to detach matplotlib plots so that the computation can continue? 在一般编辑器中: from matplo ...
- Python——matplotlib基础绘图函数示例
1. 2.饼图 (1) import matplotlib.pyplot as plt labels='frogs','hogs','dogs','logs'% sizes=[15,30,45,10] ...
随机推荐
- Task 6.4 冲刺Two之站立会议5
在完成主界面和聊天窗口的连接之后,今天对聊天界面在以前的基础上添加了很多东西,比如说对于文件传输和文字通信时的表情包的添加以及抖动窗口的设置等等一一系列的功能.我完成的是文字通信这一部分的内容.
- C#编程概述
一个简单的c#程序 标识符 标识符是一种字符串,用来命名变量.方法.参数和许多后面将要阐述的其他程序结构. 关键字 所有C#关键字都由小写字母组成,但是.NET类型名使用Pascal大小写约定. Ma ...
- Leetcode题库——20.有效的括号
@author: ZZQ @software: PyCharm @file: IsValid.py @time: 2018/9/16 20:20 要求: 给定一个只包括 '(',')','{','}' ...
- vmware_vcenter_api
VMware Vcenter_API 介绍 本文主要通过调用Vcenter_API,获取其中的数据中心,集群,主机,网络,存储,虚拟机信息. 开发语言 python 使用官方sdk pyvmomi 文 ...
- nodeJS + webStrome
一.配置开发环境: 1.先安装node (1).访问http://nodejs.org打开安装包,正常安装,点击next即可. 为了测试是否安装成功,打开命令提示符,输入node,则进入node.js ...
- 11_Java面向对象_第11天(接口、多态)_讲义
今日内容介绍 1.接口 2.多态 01接口的概念 * A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的"类". 接口只描述所应该具备的方法,并没有具 ...
- Arduino Leonardo读取DHT22温湿度传感器
首先在该地址下载库:https://codeload.github.com/nethoncho/Arduino-DHT22/zip/master 使用以下代码测试: /**************** ...
- dstat 监控时,无颜色显示
linux:Centos 6.6 dstat:0.7.0 注意,有这个提醒:Color support is disabled, python-curses is not installed good ...
- 【问底】徐汉彬:PHP7和HHVM的性能之争 (真是学到了很多)
来源:http://www.csdn.net/article/2014-12-25/2823234 作者:徐汉彬 摘要:近日,PHP7和HHVM的性能之争成为了一个讨论热点,但毫无疑问,它们都在提升P ...
- zookeeper如何实现负载均衡的?(具体连接哪一个zookeeper服务器的选择?)阿里面试
如果想了解web 6大负载均衡算法,参考:六大Web负载均衡原理与实现 主要是三点:负载均衡算法,健康检查和会话保持 1:首先,我们要了解,我们的应用程序,比如java web程序,里面配置了10个z ...