初识数据分析

  大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器,气候信息,公开的信息,如杂志,报纸,文章。大数据产生的其他例子包括购买交易记录,网络日志,病历,军事监控,视频和图像档案,及大型电子商务。

在大数据和大数据分析,他们对企业的影响有一个兴趣高涨。大数据分析是研究大量的数据的过程中寻找模式,相关性和其他有用的信息,可以帮助企业更好地适应变化,并做出更明智的决策。

  

Matplotlib教程

  介绍

  Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。Matplotlib可用于Python脚本,Python和IPython Shell,Jupyter notebook,Web应用程序服务器和四个图形用户界面工具包。

                                                         

Matplotlib尝试使容易的事情变得容易,使困难的事情变得可能。您只需几行代码就可以生成图表,直方图,功率谱,条形图,误差图,散点图等

为了简单绘图,该pyplot模块提供了类似于MATLAB的界面,尤其是与IPython结合使用时。对于高级用户,您可以通过面向对象的界面或MATLAB用户熟悉的一组功能来完全控制线型,字体属性,轴属性等。

安装

  用conda来安装

  我们使用conda软件包来满足所有要求,在conda安装期间不需要,设置conda环境。在Anaconda Prompt下执行conda命令安装matplotlib包。执行命令是:

   

  conda install matplotlib 

  安装完成之后,就可以在命令窗口或者Anaconda Spyder编程环境使用Matplotlib绘制数学图形

使用指南

  本教程介绍了一些基本的用法模式和最佳实践,以帮助您开始使用Matplotlib。

一般概念

  matplotlib具有广泛的代码库,可能会使许多新用户望而却步。但是,大多数matplotlib可以通过相当简单的概念框架和一些要点的知识来理解。

绘制需要在一系列级别上进行操作,从最普通的级别(例如,“使此二维数组轮廓化”)到最具体的级别(例如,“将该屏幕像素着色为红色”)。绘图程序包的目的是通过所有必要的控制来帮助您尽可能轻松地可视化数据-即,大多数时间通过使用相对高级的命令,并且仍然能够使用较低级别的命令。级别的命令(如果需要)。

因此,matplotlib中的所有内容都是按层次结构组织的。层次结构的顶部是matplotlib.pyplot模块提供的matplotlib“状态机环境” 。在此级别上,使用简单功能将绘图元素(线,图像,文本等)添加到当前图形中的当前轴。

注意

Pyplot的状态机环境的行为类似于MATLAB,对于具有MATLAB经验的用户应该最熟悉。

axis轴指的是x或者y这种坐标轴(图形的表示如下图所示)

Matplotlib,pyplot和pylab:它们之间有何关系?

Matplotlib是整个软件包,matplotlib.pyplotMatplotlib中的模块。

对于pyplot模块中的功能,始终有一个“当前”图形和轴(根据要求自动创建)。例如,在下面的例子中,在第一次调用plt.plot创建轴,则后续调用plt.plot在同一坐标添加额外的线,以及 plt.xlabelplt.ylabelplt.titleplt.legend设置轴标签和标题和添加的图例。

 x = np.linspace(0, 2, 100)

 plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic') plt.xlabel('x label')
plt.ylabel('y label') plt.title("Simple Plot") plt.legend() plt.show
 

pylab是一个便捷模块, 在单个名称空间中批量导入 matplotlib.pyplot(用于绘图)和numpy用于数学以及使用数组)。pylab已过时,并且由于命名空间污染而强烈不建议使用pylab。使用pyplot代替。

对于非交互式绘图,建议使用pyplot创建图形,然后使用OO接口进行绘图。

折线图(基础绘图)

  初识应用:假设一天中每隔两个小时(range(2,26,2))的气温(C)分别是T = [15,13,14.5,17,20,25,26,26,27,22,18,15]

 import matplotlib.pyplot as plt#(导入plt)
#可视化的x轴的坐标即数据在x轴的位置
x = range(2,26,2)
#数据在y轴的位置,是可迭代对象
#x轴和y轴的数据一起组成了所有要绘制出的坐标 分别是(2,15),(4,13),(6,14.5)。。。。。
y = [15,13,14.5,17,20,25,26,26,27,22,18,15]
plt.plot(x,y)#传入x和y,通过plot绘制出折线图
#在执行程序的时候展示图形
plt.show()

我们自己能看懂图的意思,但是别人看得懂吗?     接下来我们可以做的更多!!!

    1、设置图片大小(高清无码大图)

    2、保存到本地

    3、描述信息,x轴y轴表示什么,这个图表示什么?

    4、调整x、y轴的刻度的间距

    5、线条的样式(颜色、透明度啊)

    6、标记出特殊的点(比如最高点最低点)

    7、给图片加上水印(告诉别人这是我自己专属的)

 import matplotlib.pyplot as plt#(导入plt)
#可视化的x轴的坐标即数据在x轴的位置
x = range(2,26,2)
#数据在y轴的位置,是可迭代对象
#x轴和y轴的数据一起组成了所有要绘制出的坐标 分别是(2,15),(4,13),(6,14.5)。。。。。
y = [15,13,14.5,17,20,25,26,26,27,22,18,15]
#设置图片大小
plt.figure(figsize=(15,6),dpi=80)#figure图形图表的意思,在这里值得是我们画的图
#通过实例化一个figure并且传入参数,能够在后台自动使用figure实例
#在图片模糊的时候可以传入dpi参数,让图片更加清晰
#x轴的刻度是系统自动分配所以我们想自己显示我们想要的刻度
#即传入x这个x可以是自己自定义的
plt.xticks(x)
#y轴与x轴一样
plt.yticks(range(min(y),max(y)+1))
plt.plot(x,y)#传入x和y,通过plot绘制出折线图
#保存
plt.savefig("./tep.png")#可以保存为.svg这种矢量图格式,放大不会有锯齿,即不会失真
#在执行程序的时候展示图形
plt.show()

图片大小、刻度、保存

那么问题来了:如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况? a = [random.randint(20,35) for i in range(120)]

 import matplotlib.pyplot as plt
import random
plt.rc('font', family='SimHei', size=14) ##显示中文 #size=7 表示中文字体大小,根据自己需要调整 #设置显示中文的字体 fc-list :lang=zh linux mac os #因为y要对应x的个数所以应该有120次的y值
y = [random.randint(20,35) for i in range(0,121)]
x = range(0,121)
#画布大小 还有高清度
plt.figure(figsize=(20,10),dpi=100) _xticks_lable = ["10点{}分".format(i) for i in range(60)]
_xticks_lable += ["11点{}分".format(i) for i in range(61)] #第一个参数x轴显示的刻度 第二个参数是x轴显示字符串 第三个参数是显示字符串的旋转角度(发现中文显示不出来,因此需要设置显示的字体)
plt.xticks(list(x)[::3],_xticks_lable[::3],rotation=45) #这个设置y轴显示的步长
plt.yticks(range(0,40))
#给我的图形标题
plt.title("10点到12点每分钟温度变化情况")
#横坐标显示的标签
plt.xlabel("时间")
#纵坐标显示的标签
plt.ylabel("温度(℃)")
#画图
plt.plot(x,y)
#显示屏幕上
plt.show()

注意:显示中文不同的系统方法不一样

动动手

  假设大家在30岁的时候,根据自己的实际情况统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己每年交女(男)朋友的数量走势
a = [10,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]    要求:

                     y轴表示个数
                     x轴表示岁数,比如11岁,12岁等

 import matplotlib.pyplot as plt
plt.rc("font",family="SimHei",size=14)
x = range(11,30)
y = [10,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
#这三个都是对坐标轴的描述信息
plt.title("11岁到30岁每年交女朋友的数量示意图")
plt.xlabel("年龄")
plt.ylabel("女朋友个数")
#这两个是对坐标轴的显示刻度描述
xticks_label = ["{}岁".format(i) for i in range(11,31)]
plt.xticks(list(x),xticks_label,rotation=45)
plt.yticks(range(11))
plt.plot(x,y)
plt.show()

假设大家在30岁的时候,根据自己还有同桌的实际情况统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己和同桌每年交女(男)朋友的数量走势 要求: y轴表示个数 x轴表示岁数,比如11岁,12岁等[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,11]b = [1,0,3,1,2,2,3,3,2,1,1,1,1,1,1,1,1,1]

绘图的时候(plt.plot)需要自定义风格就需要如下参数展示的

代码展示如下

 import matplotlib.pyplot as plt
plt.rc("font",family="SimHei",size=14) x = range(11,31)
y1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y2 = [1,0,3,1,2,2,3,3,2,1,1,1,1,1,1,1,1,1,1,1]
#画布加上x y轴的标签名字
a1 = plt.figure(figsize=(20,8),dpi=80)
plt.title("我和同桌11岁到30岁每年交女朋友的数量示意图")
plt.xlabel("年龄")
plt.ylabel("女朋友个数")
#x y 轴刻度
_xticks_label = ["{}岁".format(i) for i in range(11,31)]
plt.xticks(x,_xticks_label)
plt.yticks(range(8)) #为了更好的观看 添加网格效果 可以加颜色(16进制) 线的款式 线条粗细linewidth 透明度alpha
plt.grid(alpha=0.5,linestyle="-.")#参数alpha 0到1之间调动 #画出来 可以加颜色 线的款式 线条粗细linewidth 透明度alpha
plt.plot(x,y1,label="自己",color="orange",linestyle=":")
plt.plot(x,y2,label="同桌",color="cyan",linestyle="--") #添加图例 更好观看折线谁是谁 更加客观看懂
plt.legend(loc="upper left")#可以放置图例的位置数字0-10或者看源码输入
#展示
plt.show()

扩展:在上一个案例中,假设你希望在图中标记出自己和同桌交女朋友最多的那一年所对应的数据,那么应该怎么做?(添加文本注释)

    在上一个案例中,假设你打算把自己的统计结果发布到网上供人瞻仰,但是很担心自己的图片被人盗用,你该怎么做?(加水印)

初识Matplotlib-01的更多相关文章

  1. 076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学

    076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学 本文知识点:Java面向对象导学 说明:因为时间紧张,本人 ...

  2. 4.1Python数据处理篇之Matplotlib系列(一)---初识Matplotlib

    目录 目录 前言 (一)matplotlib的介绍 (二)画一个简单的画布 ==1.源代码== ==2.展示效果== (三)画布按键的功能介绍 ==1.对于画布功能键的排序== ==(1)主页== = ...

  3. 初识matplotlib

    最好将配置项与代码分离,在代码之外用一个永久的文件设定matplotlib参数默认值 配置文件选择放在当前工作目录,包括以下配置项: P13

  4. python可视化库 Matplotlib 01 figure的详细用法

    1.上一章绘制一幅最简单的图像,这一章介绍figure的详细用法,figure用于生成图像窗口的方法,并可以设置一些参数 2.先看此次生成的图像: 3.代码(代码中有详细的注释) # -*- enco ...

  5. $python数据分析基础——初识matplotlib库

    基本用法 import numpy as np import matplotlib.pyplot as plt # 年份 year = [1950,1970,1990,2010] # 全球总人口(单位 ...

  6. 初识 Javascript.01 -- Javascript基础|输出方式、变量、变量命名规范、数据类型、

    Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和su ...

  7. uni-app的初识(01)

    1.什么是uni-app uni-app 是一个使用 Vue.js 开发所有前端应用的框架, 开发者编写一套代码, 可发布到IOS, Android, H5, 以及各种小程序(微信,百度)等多个平台. ...

  8. 初识Ansible 01

    自动化运维工具有很多,从实现的功能.维护的成本.使用的系统来选择,几种常用运维工具比较: Puppet基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱 SaltS ...

  9. Mac教程macOS教程 苹果电脑教程

    第1 章 初识MacOS 01 菜单栏 02 键盘 03 聚焦(Spotlight)

  10. Python3绘图库Matplotlib(01)

    1 First plots with Matplotlib 简单的绘图1 简单的绘图2 简单的绘图3 2 网格 = grid 3 设置坐标轴的取值范围 = axis xlim ylim 方法1:整体设 ...

随机推荐

  1. 蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数

    0. 本文的初衷及蔡勒公式的用处 前一段时间,我在准备北邮计算机考研复试的时候,做了几道与日期计算相关的题目,在这个过程中我接触到了蔡勒公式.先简单的介绍一下蔡勒公式是干什么用的. 我们有时候会遇到这 ...

  2. SpringMVC源码分析6:SpringMVC的视图解析原理

    title: SpringMVC源码分析6:SpringMVC的视图解析原理 date: 2018-06-07 11:03:19 tags: - SpringMVC categories: - 后端 ...

  3. ASP.NET Core Basic 1-1 WebHost与项目配置

    .NET Core ASP.NET Core Basic 1-1 本节内容为WebHost与项目配置 项目配置文件 我们可以很清楚的发现在我们的文件中含有一个Json文件--appsettings.j ...

  4. 一文了解Python常见的序列化操作

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

  5. Vue入门到TodoList练手

    学习资料 慕课网 - vue2.5入门 基础语法 示例代码1 <div id="root"> <h1>hello {{msg}}</h1> &l ...

  6. Spring学习之旅(三)--装配Bean

    装配 Bean 的方式 在 XML 中进行显式配置 在 Java 中进行显式配置 隐式的 Bean 发现机制和自动装配 Spring 提供了以上三种方式进行 Bean 的配置,可以根据自己的需求选择一 ...

  7. 11_for语句的使用

    for是一种循环结构 go语言中,for语句结构: for 初始语句; 条件语句; 迭代后语句 { 代码体 } 例子: package main import "fmt" impo ...

  8. 如何使用有道云笔记的Markdown----初级版?

    我一般整理笔记用的是用有道云笔记,在这里,Markdown怎么用? 什么是Markdown?Markdown是一种轻量级的「标记语言」,通常为程序员群体所用,目前它已是全球最大的技术分享网站 GitH ...

  9. Mysql高手系列 - 第4天:DDL常见操作汇总

    这是Mysql系列第4篇. 环境:mysql5.7.25,cmd命令中进行演示. DDL:Data Define Language数据定义语言,主要用来对数据库.表进行一些管理操作. 如:建库.删库. ...

  10. Android Studio安卓学习笔记(二)Android项目结构

    上一篇代码,我们学习了Android的功能以及如何用Android Studio开发第一个安卓程序.下面就要介绍Android项目结构.为日后学习打基础. 一:Android项目结构 打开MyFris ...