最近白天在整机器学习和算法导论,做预判分析的时候发现,经常用到几个画图代码,老是弄混。睡不着,深夜上线整理一波,顺便加强一下记忆叭。写多少是多少,不行就白天接着补。。

今天先整理一波常规画图操作。其实后来学了pandas里的 seaborn 库的时候,才发现有更好看的图

import matplptlib.pypplot as plt

import pandas as pd

# 读取一个分类明确的数据集csv文件,文件里数据分了四类

# 数据长这样子,先大致head()前五行看一下吧

# dataset,x,y

I,10.0,8.04

I,8.0,6.95

I,13.0,7.58

I,9.0,8.81

I,11.0,8.33

oh=pd.read_csv('anscombe.csv')

print(oh)

# 取数据子集

oh_1=oh[oh['dataset'] == 'I']

oh_2=oh[oh['dataset'] == 'II']

oh_3=oh[oh['dataset'] == 'III']

oh_4=oh[oh['dataset'] == 'IV']

plt.plot(oh_1['x'],oh_1['y'])

plt.show()

# 如果想用它画圆点,可以给plt.plot传递一个‘o’参数

plt.plot(oh_1['x'],oh_1['y'],'o')

plt.show()

# 现在有四个 子数据集,要把他们放在一起,所以先创建一个画布

# 就弄一个2x2的画布吧

fig=plt.figure()

axis1=fig.add_subplot(2,2,1)

axis2=fig.add_subplot(2,2,2)

axis3=fig.add_subplot(2,2,3)

axis4=fig.add_subplot(2,2,4)

# 哈哈然后出图吧

axes1.plot(oh_1['x'],oh_1['y'],'o')

axes2.plot(oh_2['x'],oh_2['y'],'o')

axes3.plot(oh_3['x'],oh_3['y'],'o')

axes4.plot(oh_4['x'],oh_4['y'],'o')

#向各个子图添加标签,并使用tight_layout方法确保各个坐标轴彼此分开

axes1.set_title('oh_1')

axes2.set_title('oh_2')

axes3.set_title('oh_3')

axes4.set_title('oh_4')

#为整幅图添加一个大标题

fig.suptitle('anscomble data')

plt.show()

#紧凑布局

fig.tight_layout()

单变量画图

单变量做频数分析的时候,画图是最直观的,样本频数特别小的,我一般也就合并到别的小样本里了。直方图就够用,选一个变量多一点的文件吧

import pandas as pd

tips=pd.read_csv('tips.csv')

print(tips)

# tips文件 数据 截一下前五行

# 就长这样吧

""" "total_bill","tip","sex","smoker","day","time","size"

16.99,1.01,"Female","No","Sun","Dinner",2

10.34,1.66,"Male","No","Sun","Dinner",3

21.01,3.5,"Male","No","Sun","Dinner",3

23.68,3.31,"Male","No","Sun","Dinner",2

24.59,3.61,"Female","No","Sun","Dinner",4

"""

# 大概就是对 餐桌文化,比如不同性别,消费时间,餐桌级别等不同群体的消费账单做个分析,totalbill 即消费账单。

# ok 画图吧

import matplotlib.pyplot as plt

fig=plt.figure()

# 画布啊画布!

axes1=fig.add_subplot(1,1,1)

# 画布一行一列,放第一个

axes1.hist(tips['total_bill'],bins=10)

# 直方图表达式,y轴衡量的是totalbill,x轴以10为组距

axes1.set_title('histogram of total bill')

axes1.set_xlabel('Frequency')

axes1.set_ylabel('total bill')

plt.show()

双变量

双变量画图,两两对比,妙不可言。就还是用刚才的那个消费账单数据吧

1)散点图

scatter_plot=plt.figure()

axes1=plt.add_subplot(1,1,1)

axes1.scatter(tips['total_bill'],tips['tip'])

# 再搞一下标签就很完美

axes1.set_xlabel('total bill')

axes1.set_ ylabel('tip')

plt.show()

箱线图

boxplot=plt.figure()

axes1=boxplot.add_subplot(1,1,1)

axes1.boxplot(

# 箱线图的第一参数是数据

# 由于要绘制多块数据,因此必须把每块数据放入列表中

[tips[tips['sex']=='Female']['tip'],

tips[tips['sex']=='Male']['tip']],

#列表中第一个数据表示分类类别,第二表示y轴数据

labels=['Female','Male']

#展示标签

)

axes1.set_xlabel('sex')

axes1.set_ylabel('Tip')

axes1.set_title('boxplot of tips by sex')

plt.show()

其实同样是画箱线图,调用seaborn库 代码更便捷,可调节的款式也比较多。留给下次睡不着整理吧。。

多变量数据

其实多变量说白了就是再双变量的基础上,区分了颜色,大小,形状,增加了信息量。最繁琐的办法就是用函数创建一个带颜色的变量。

比如在性别上区分颜色。

def recode_sex(sex):

if sex =='Famale':

return 0

else:

return 1

tips['sex_color']=tips['sex'].apply(recode_sex)

# apply 是对列调用函数的好方法,这行代码 赋值给tips数据集一个带颜色参数的新列 ' sex_color '

# 下面开始画图吧

# 创建画布

scatter_plot=plt.figure()

axes1=scatter_plot.add_subplot(1,1,1)

axes1.scatter(

x=tips['total_bill'],

y=tips['tips'],

s=tips['size']*10,

# 增加一个‘size’ 变量,用大小*10倍的大小区分

c=tips['sex_color']

alpha=0.5

# 增加点透明度,以表示重叠的点

)

# 最后添加标题

axes1.set_title('total bill vs tip colored by sex and sized by size')

axes1.set_xlabel('total bill')

axes1.set_ylabel('tip')

plt.show()

python数据可视化程序_python数据可视化简易版相关推荐

  1. python写采集程序_Python写的简易采集爬虫(蜘蛛)

    #!/usr/bin/python #-*-coding:utf-8-*- # 简易采集爬虫 #    1.采集Yahoo!Answers,parseData函数修改一下,可以采集任何网站 #    ...

  2. python闹钟界面程序_python闹钟之完美版

    前面的博客写的闹钟知识系统自带的声音,下面给大家讲一种更简单的做法! 代码是死的 人时活的! import webbrowser as web import time import os import ...

  3. python(pygame)开发一个超简易版消灭病毒

    python(pygame)开发一个超简易版消灭病毒 消灭病毒游戏 以下是游戏代码:每个类都是一个py文件,需要导包 1.主程序代码 2.飞机类 3.子弹类 4.病毒类 消灭病毒游戏 消灭病毒是一个打 ...

  4. python 财务分析可视化方法_Python数据可视化的四种简易方法

    Python数据可视化的四种简易方法 作者:PHPYuan 时间:2018-11-28 03:40:43 摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视 ...

  5. python前端框架实例_Python数据可视化:PyQt5 + ECharts框架实例

    引言 对于Python下桌面软件的开发已经有了很多数据可视化的库,如Matplotlib.Seaborn.Pyqtgraph.Plotly等等,但这些库更适合于后端程序员的软件开发. 实际上在前端网页 ...

  6. python图形绘制星空图_Python数据可视化教程:基于Plotly的动态可视化绘图

    1. plotly 介绍 Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图, 下面我们以jupyter ...

  7. python用表格中的数据画柱状图_Python数据可视化:5种绘制柱状图表的方法(附源码)...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于数据Magic,作者我不是小样 前言 python里面有很多优秀的可 ...

  8. python数据查询教程_Python数据可视化教程之基础篇

    经过学习之后,我总结了利用python实现可视化的三个步骤: 确定问题,选择图形 转换数据,应用函数 参数设置,一目了然 1 首先,要知道我们用哪些库来画图? matplotlib python中最基 ...

  9. python数据分析图表展示_NBA数据分析_python数据爬取_可视化图形_python数据可视化案例-帆软...

    之前手痒做了一次NBA可视化分析,发个微头条,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 ...

最新文章

  1. 人脸识别引擎SeetaFaceEngine中Alignment模块使用的测试代码
  2. 10.1 国庆 考试
  3. import win32api 安装pip install pypiwin32
  4. 实现JavaScript数组拍平/扁平化的方法
  5. 12家国内外之名公司多场面试,微软到谷歌.让我们通过学习达到100%面试率与100%通过率...
  6. VTK:几何对象之OpenVRSphere
  7. Scala enumeration
  8. 2016年CCF第七次测试 俄罗斯方块
  9. 设计模式(14)-Flyweight Pattern
  10. MATLAB基本信号的产生
  11. 【java学习之路】(javaWeb【后端】篇)005.会话
  12. linux系统管理与服务器配置【2008网络工程师】,Linux系统管理与服务器配置
  13. 聊聊最近的CPA心得吧
  14. mysql表analyze_MySQL ANALYZE Optimize Check Table使用详解
  15. 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
  16. 二级造价师课件网课下载,二级造价工程师考试时间报考条件公布!
  17. 第一台计算机英语怎么说,世界第一台计算机英文缩写名为
  18. 中国石油大学《计算机网络课程设计》第三次在线作业
  19. 计算机人文素养教案,谈谈信息技术课堂中人文素养培养的感想和体会
  20. VMware -- 克隆虚拟机

热门文章

  1. Vue,React,微信小程序,快应用,TS 和 Koa 一把梭
  2. 百行代码发射红心,程序员何愁命不中女朋友!
  3. 【Linux】云服务器的购买与Linux远程连接
  4. 学习Mac开发第四弹 通过NSImageView加载图片
  5. Python 五行代码实现类似全能扫描王和office Lens的扫描彩色增强滤镜效果
  6. 关于CC的完全非线性椭圆方程一书的一些小结
  7. linux人脸识别终端是什么意思,瑞芯微如何看待天波首发得RV1109 Linux人脸识别终端...
  8. 楚留香服务器维护,楚留香手游3月9日维护更新公告
  9. 我的世界服务器兑换系统怎么做,Minecraft我的世界村民交易方法及兑换表格
  10. 请问php中 $_data是啥变量呢