Python 数据分析—第八章 画图
一、matplotlib的用法
折线图+一些常用的设置
#显示中文
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False fig,ax = plt.subplots()
fig.set_size_inches(12,6) #设置图像大小
ax.plot(data.iloc[:,1:3]) #画图
ax.set_xlabel('X轴',fontsize=15) #x轴的名称
ax.set_ylabel('Y轴',fontsize=15)
ax.legend(['A','B']) #标签
ax.set_xticks(np.arange(-10,120,10)) #设置x轴的坐标
plt.yticks(fontsize=15) #设置坐标的字体大小
plt.title('折线图标题',fontsize=20)

直方图
这里简直要吐血,要先设置set_xticks 在设置set_xticklabels
fig,ax = plt.subplots()
ax.bar(range(4),data.sum())
ax.set_xticks(range(4))
ax.set_xticklabels(data.columns)

多个对比
fig,ax = plt.subplots()
ax.bar(np.arange(4),data.sum(),width=0.2,label='不变')
ax.bar(np.arange(4)+0.2,data.sum()*1.5,width=0.2,label='1.5倍')
ax.set_xticks(np.arange(4)+0.1)
ax.set_xticklabels(data.columns)
plt.legend() #这里可以加入loc

散点图,如果要加趋势线就用sns吧
fig,ax = plt.subplots()
ax.scatter(data.iloc[:,0],data.iloc[:,0]*2 + np.random.randn(100)*6)
#sns.regplot(x = data.iloc[:,0],y = data.iloc[:,0]*2 + np.random.randn(100)*6)

多个图的制作
fig,ax = plt.subplots(2,3)
fig.set_size_inches(20,10)
ax[0,0].plot(data.iloc[:,1])
ax[0,1].hist(data.iloc[:,2])
ax[1,0].bar(np.arange(4),data.sum())
ax[1,2].scatter(data.iloc[:,0],data.iloc[:,0]*2 + np.random.randn(100)*6)

二、seaborn用法
http://www.cnblogs.com/douzujun/p/8366283.html
1、seaborn整体的风格设置
这部分主要了解sns的全局设置,包括set_style几种风格,set_content()有好几个默认的模式,paper,talk,poster,notebook颜色逐步加深,在此基础上可以对字体等进行修改
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns def cosplot():
x = np.linspace(1,10,100)
for i in range(7):
plt.plot(x, np.cos(x + i * .5) * (7 - i)) #使用sns设置之后的图形
cosplot()

sns.set_style('whitegrid') #sns可选择的类型有,darkgrid,dark,whitegrid,white,ticks
cosplot()

#箱型图,对于pandas数据类型,直接调用boxplot就可生成,每一列是一个箱子
sns.set_style('darkgrid')
data = pd.DataFrame({'A':np.random.rand(100)*20,'B':np.random.rand(100)*12,'C':np.random.rand(100)*17,'D':np.random.rand(100)*10})
sns.set_context('paper',font_scale=2,rc = {'lines.linewidth':4}) #分别设置坐标轴的字体大小和线的粗细
plt.figure(figsize=(10,6)) #设置图像大小
sns.boxplot(data,palette="deep")
#sns.violinplot(data,palette="deep") #这个是小提琴图


2、颜色设置
#对于箱型图
plt.figure(figsize=(10,6))
sns.set_context('notebook',font_scale=1.5,rc = {'lines.linewidth':2})
sns.boxplot(data,palette=sns.color_palette('hls',4)) #这里可以设置颜色

3、画图实践(主要是一些特殊的图形,一般图形直接使用matplotlib)
#单变量——直方图
x = np.random.normal(size=2000)
sns.distplot(x,kde = True,bins=20) #kde是否显示曲线,bins设置格子大小

# 两个变量求相关
sns.jointplot(x = 'D',y='B',data=data)

#数据量很大时候使用hex图
mean, cov = [0, 1], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, 1000).T
# hex图,
with sns.axes_style("white"):
sns.jointplot(x=x, y=y, kind="hex", color="k")

#多变量时候使用两两比较
sns.pairplot(data)

Python 数据分析—第八章 画图的更多相关文章
- python数据分析画图体验
对于numpy的函数,pands等,不是很熟,我来copy一下code,敲击一下,找找感觉. 默认的导入包import numpy as npimport matplotlib.pyplot as p ...
- Python数据分析入门与实践 ✌✌
Python数据分析入门与实践 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 这是一个数据驱动的时代,想要从事机器学习.人工智能.数据挖掘等前沿技术,都离不开 ...
- 小白学 Python 数据分析(16):Matplotlib(一)坐标系
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(17):Matplotlib(二)基础操作
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 万字长文,Python数据分析实战,使用Pandas进行数据分析
文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...
- [Python数据分析]新股破板买入,赚钱几率如何?
这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...
- 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例
基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...
- 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化
继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...
- 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来
最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...
随机推荐
- Metasploit对安卓手机的攻击
首先要kali进行内网穿透,可参考http://www.cnblogs.com/sch01ar/p/7562954.html 首先生成一个apk木马 命令:msfvenom -p android/me ...
- 2.docker学习之linux安装
Docker CE is supported on CentOS 7.3 64-bit. 说明docker只能安装在centOS7以上 [root@hadoop-bigdata01 ~]# yum i ...
- 将自己数据转化为cifar10支持的lmdb
大家都知道,在caffe里面,要运行cifar10的例子就得先由cifar10的数据库.由于caffe为了提高运行效率,减少磁盘寻道时间等,统一了数据接口(lmdb,leveldb). 首先,看一下c ...
- Flask之模板web表单
3.3 Web表单: web表单是web应用程序的基本功能. 它是HTML页面中负责数据采集的部件.表单有三个部分组成:表单标签.表单域.表单按钮.表单允许用户输入数据,负责HTML页面数据采集,通过 ...
- Windbg在.net性能问题排查hang情况的应用思路
1.使用~*kb 2000 查看本地锁的callstack情况,有sleep的线程关注是否占用锁,有wait等待的线程可能是正在等待锁资源. 2.使用~*e!clrstack 查看.net的calls ...
- 关于服务器raid的一个记录
今天下午,在装操作系统的时候,特意的测试了下raid1的性能. 1. 开启操作系统 直接正常开启操作系统,操作系统的硬盘做的是raid1,从而数据写俩份,从而在损坏一张盘之后,另外一张盘并不会收到影响 ...
- leetcode341
数据结构设计类题目,参考网上的代码: /** * // This is the interface that allows for creating nested lists. * // You sh ...
- windows共享连接显示无法打开
Ping目标地址和名称可以连通,但是访问告知无法打开或找到名称,看凭据设置正常,重启无效. 判断:可能是由于凭据过期引起,更新凭据,重启,仍旧无效. 修改IP地址进行访问,成功打开. 清理网络连接状态 ...
- xmlhttp的OnReadyStateChange事件
这两天抽空升级了一下自己做的pon资料表,增加了OLT拓扑自动发现以及业务从MSE至OLT的全自动下发 等功能,让人没想到的是在处理xmlhttp回调时死活接收不到反馈信息, 在Excel论坛和微软官 ...
- Thread(线程)三
今天我们继续接着线程讲讲,上一章提到一下task概念, 首先接着task继续往下讲,在前章节提到过Thread怎么实现其他线程完成后再让主线程继续执行的功能,那么如果Task也需要线程等待事件,该怎么 ...