数据可视化

matplotlib绘图入门

为了使用matplotlib来绘制基本图像,需要调用matplotlib.pyplot子库中的plot()函数

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0,20)
plt.plot(x,.5+x)
plt.plot(x,1+2*x,'--') plt.show()

对数图

所谓对数图,实际上就是使用对数坐标绘制的图形。对于对数刻度来说,其间隔表示的是变量的值在数量级上的变化,这与线性刻度有很大的不同。对数图又分为两种不同的类型,其中一种称为双对数图,它的特点是两个坐标轴都采用对数刻度,对应的matplotlib函数是matplotlib.pyplot.loglog()。半对数图的一个坐标轴采用线性标度,另一个坐标轴使用对数刻度,它对应的matplotlib API是semilogx()函数和smilogy()函数。在双对数图上,幂律表现为直线;在半对数图上,直线则代表的是指数律。

numpy中的polyfit()函数可以用多项式来拟合数据

numpy中的polyval()函数可以用来对上面得到的多项式进行评估。

散点图

散点图可以形象展示直角坐标系中两个变量之间的关系。在散点图中,每个数据点的位置实际上就是两个变量的值。变量之间的任何关系可以拿散点图来示意。上升趋势模式通常意味着正相关。泡式图是对散点图的一种扩展。在泡式图中,每个数据点都被一个气泡所包围,它由此得名;而第三个变量的值正好可以用来确定气泡的相对大小。

matplotlib API提供的scatter()函数就是用于实现散点图

图例和注解

数据图都带有下列辅助信息

1.用来描述图中各数据序列的图例。为此,可以使用matplotlib提供的legend()函数,来给每个数据序列提供相应的标签

2.对图中要点的注解。为此,可以借助matplotlib提供的annotate()函数。matplotlib生成的注解包括标签和箭头两个组成部分。这个函数提供了多个参数,用以描述标签和箭头形式以及其位置。

3.横轴和纵轴的标签。这些标签可以通过xlabel()和ylabel()函数绘制出来

4.一个说明性质的标题,通常由matplotlib的title()函数来提供

5.网格,对于轻松定位数据点非常有帮助。matplotlib提供的grid()函数可以用来决定是否启用网格

三维图

Axes3D是由matplotlib API提供的一个类,可以用来绘制三维图。通过讲解这个类的工作机制,就能够明白面向对象的matplotlib API的原理。matplotlib的figure类是存放各种图像元素的顶级容器。

1.创建一个Figure对象

fig=plt.figure()

2.利用Figure对象创建一个Axes3D对象

ax=Axes3D(fig)

3.创建坐标矩阵时,可以借助Numpy中的meshgrid()函数

X,Y=np.meshgrid(X,Y)

4.通过Axes3D类的plot_surface()方法为数据绘制图像

ax.plot_surface(X,Y,Z)

5.根据面向对象API函数的命名约定,应该以set_开头,以程序对应的函数名结尾,具体如下:

ax.set_xlabel('year')
ax.set_ylabel('Log1')
ax.set_zlabel('Log2')
ax.set_title('66666')

pandas绘图

pandas的series类和DataFrame类中的plot()方法都封装了相关的matplotlib函数

为了创建半对数图,需要增设logy参数

df.plot(logy=True)

为了创建散点图,需要把参数kind设为scatter,同时,还要指定两个列。此外,如果将参数loglog设为True,就会生成一个双对数(log-log图)

df[df['gpu_trans_count']>0].plot(kind='scatter',x='trans_count',y='gpu_trans_count',loglog=True)

时滞图

时滞图实际上就是一幅散点图,只不过把时间序列的图像及相同序列在时间轴上后延的图像放在一起展示而已。

我们可以利用pandas子库pandas.tools.plotting中的lag_plot()函数,来绘制时滞图

lag_plot(df['trans_count'])

自相关图

自相关图描述的是时间序列数据在不同时间延迟情况下的自相关性。所谓自相关,就是一个时间序列与相同数据在不同时间延迟情况下的相互关系。利用pandas子库pandas.tools.plotting中的autocorrelation_plot()函数,就可以画出自相关图了。

《Python数据分析》笔记——数据可视化的更多相关文章

  1. python数据分析笔记——数据加载与整理]

    [ python数据分析笔记——数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&id ...

  2. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  3. 在我的新书里,尝试着用股票案例讲述Python爬虫大数据可视化等知识

    我的新书,<基于股票大数据分析的Python入门实战>,预计将于2019年底在清华出版社出版. 如果大家对大数据分析有兴趣,又想学习Python,这本书是一本不错的选择.从知识体系上来看, ...

  4. python grib气象数据可视化

    基于Python的Grib数据可视化           利用Python语言实现Grib数据可视化主要依靠三个库——pygrib.numpy和matplotlib.pygrib是欧洲中期天气预报中心 ...

  5. 【python数据分析实战】电影票房数据分析(二)数据可视化

    目录 图1 每年的月票房走势图 图2 年票房总值.上映影片总数及观影人次 图3 单片总票房及日均票房 图4 单片票房及上映月份关系图 在上一部分<[python数据分析实战]电影票房数据分析(一 ...

  6. python 爬虫与数据可视化--matplotlib模块应用

    一.数据分析的目的(利用大数据量数据分析,帮助人们做出战略决策) 二.什么是matplotlib? matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB ...

  7. Python数据分析笔记

    最近在看Python数据分析这本书,随手记录一下读书笔记. 工作环境 本书中推荐了edm和ipython作为数据分析的环境,我还是刚开始使用这种集成的环境,觉得交互方面,比传统的命令行方式提高了不少. ...

  8. Python TVTK 标量数据可视化与矢量数据可视化,空间轮廓线可视化

    Python数据可视化分为 标量可视化,矢量可视化,轮廓线可视化 标量又称无向量,只有大小没有方向,运算遵循代数运算法则比如质量,密度,温度,体积,时间 矢量又称向量,它是由大小,方向共同确定的量,运 ...

  9. 使用 jupyter-notebook + python + matplotlib 进行数据可视化

    上次用 python 脚本中定期查询数据库,监视订单变化,将时间与处理完成订单的数量进行输入写入日志,虽然省掉了人为定时查看数据库并记录的操作,但是数据不进行分析只是数据,要让数据活起来! 为了方便看 ...

随机推荐

  1. [转载]几个开源Javascript图形库

    [转载]原文地址:http://www.cnblogs.com/webgis8/articles/1516639.html 因为Google Map项目的需要,最近一直在寻求相关的Javascript ...

  2. volatile关键字比较好的解释

    http://www.tuicool.com/articles/IRvUJbN http://tengj.top/2016/05/06/threadvolatile4/?utm_source=tuic ...

  3. ServletContext与Web应用以及Spring容器启动

    一.ServletContext对象获取Demo Servlet容器在启动时会加载Web应用,并为每个Web应用创建唯一的ServletContext对象. 可以把ServletContext看作一个 ...

  4. sqrt函数实现(神奇的算法)

    我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然 ...

  5. webpack 3.x loader

    css-loader webpack配置 module:{ rules:[ { test:/\.css$/, use:['style-loader',css-loader] //顺序不能变 } ] } ...

  6. Beamer加中文

    \documentclass{beamer} \mode<presentation> { \usetheme{CambridgeUS} % or try Darmstadt, Madrid ...

  7. Eclipse 浏览(Navigate)菜单

    浏览 Eclipse 工作空间 浏览(Navigate)菜单提供了多个菜单可以让你快速定位到指定资源. 上图中 Open Type, Open Type in Hierarchy 和 Open Res ...

  8. db2将原表列notnull属性修改为null属性的方法

    今天把自己遇到的一个小问题跟大家分享一下如何修改db2数据库表中列的属性--将列的非空属性改为允许空的属性,修改数据表的某一列属性其实很简单但是里面有需要细节需要dba注意,毕竟数据的安全才是最重要的 ...

  9. WPF绑定Binding及模式

    绑定,就是把一个对象属性的值绑定在别的对象的属性上 1. 默认绑定 public class Company { public string Name { get; set; } } XAML代码 1 ...

  10. Intellij IDEA 搜索文件内容

    位置:Edit-Find-Find in Path 把KeyMap改成Eclipse的就可以用Ctrl+H查找了.