给 iOS 开发者的 python 学习日记十八

使用 matplotlib 建立一个图表的概念是组装它提供的基础元件,像是图表类型、图例或者标签等元件。 Seaborn 套件是以 matplotlib 为基础建构的高阶绘图套件,让使用者更加轻松地建立图表,我们可以将它视为是 matplotlib 的加强

我们今天试着使用看看Seaborn套件来划一些基本的图形,包括:

直方图(Histogram)

散布图(Scatter plot)

线图(Line plot)

长条图(Bar plot)

盒须图(Box plot)

Seaborn套件在我们的开发环境没有安装,但我们可以透过conda指令在终端机安装。

conda install -c anaconda seaborn=0.7.1

我们的开发环境是Jupyter Notebook,这个指令可以让图形不会在新视窗呈现。

%matplotlib inline

直方图

使用seaborn套件的distplot()方法。

%matplotlib inline

import seaborn as sns

import numpy as np

import matplotlib.pyplot as plt

sns.distplot(normal_samples)

预设会附上kernel density estimate(KDE)曲线。

散布图(Scatter plot)

使用seaborn套件的joinplot()方法。

%matplotlib inline

import seaborn as sns

import pandas as pd

import matplotlib.pyplot as plt

speed = [4, 4, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20, 22, 23, 24, 24, 24, 24, 25]

dist = [2, 10, 4, 22, 16, 10, 18, 26, 34, 17, 28, 14, 20, 24, 28, 26, 34, 34, 46, 26, 36, 60, 80, 20, 26, 54, 32, 40, 32, 40, 50, 42, 56, 76, 84, 36, 46, 68, 32, 48, 52, 56, 64, 66, 54, 70, 92, 93, 120, 85]

cars_df = pd.DataFrame(

{"speed": speed,

"dist": dist

}

)

sns.jointplot(x = "speed", y = "dist", data = cars_df)

预设会附上X轴变数与Y轴变数的直方图。

线图(Line plot)

使用seaborn套件的factorplot()方法。

%matplotlib inline

import seaborn as sns

import pandas as pd

import matplotlib.pyplot as plt

speed = [4, 4, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 20, 22, 23, 24, 24, 24, 24, 25]

dist = [2, 10, 4, 22, 16, 10, 18, 26, 34, 17, 28, 14, 20, 24, 28, 26, 34, 34, 46, 26, 36, 60, 80, 20, 26, 54, 32, 40, 32, 40, 50, 42, 56, 76, 84, 36, 46, 68, 32, 48, 52, 56, 64, 66, 54, 70, 92, 93, 120, 85]

cars_df = pd.DataFrame(

{"speed": speed,

"dist": dist

}

)

sns.factorplot(data = cars_df, x="speed", y="dist", ci = None)

长条图(Bar plot)

使用seaborn套件的countplot()方法。

%matplotlib inline

import seaborn as sns

import pandas as pd

import matplotlib.pyplot as plt

cyl = [6 ,6 ,4 ,6 ,8 ,6 ,8 ,4 ,4 ,6 ,6 ,8 ,8 ,8 ,8 ,8 ,8 ,4 ,4 ,4 ,4 ,8 ,8 ,8 ,8 ,4 ,4 ,4 ,8 ,6 ,8 ,4]

cyl_df = pd.DataFrame({"cyl": cyl})

sns.countplot(x = "cyl", data=cyl_df)

盒须图(Box plot)

使用seaborn套件的boxplot()方法。

小结

第十九天我们练习使用Python的视觉化套件Seaborn绘制基本的图形

本文来自企鹅号 - 猿老师媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

Silverlight制作逐帧动画 v2 - part2

Silverlight制作逐帧动画 v2 - part2 在这里完善了一下算法,加入了fps的机制进去。 private string[] ...

1886
来自专栏王磊的博客

Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载

MySqlHelper.cs代码如下: using System; using System.Collections.Generic; using System...

4409
来自专栏c#开发者

xmldocument内嵌入另一个xmldocument,xmlnode的方法

string xmlstr1 = @"<root><head>myHead</head><body></body></root>"; s...

2705
来自专栏Golang语言社区

GO语言 TCP传输实例

package main import ( "net" "fmt" ) var ( maxRead = 1100 msgStop = []byt...

3396
来自专栏木宛城主

曾今的代码系列——自己的分页控件+存储过程实现分页

项目里面的测试代码,仅供参考 LoginByAjax <title>Ajax登陆</title> <script src="Scripts/c...

1855
来自专栏自由而无用的灵魂的碎碎念

小项目分享---混色器

编写代码的同志们一般懂美术的就少了,偶也是,什么色轮、三维加色等等。虽然看过一些书籍(如内田广由纪的《配色基础原理》),不过还是一知半解的。

963
来自专栏hbbliyong

socket 通信 多线程调用窗体(委托)的几个知识点,记录在案,以备查阅

1.socket 通信传输汉字的方法:Encoding.GetEncoding("GB2312").GetString(Receivebyte) 发送接收都这样...

2737
来自专栏张善友的专栏

通过SmtpClient发送Exchange会议邮件

看到C#中调用Outlook API 发起会议 ,这个完全可以用SMTP方式实现的,下面我的项目中使用的代码: 对于.NET而言,从2.0开始,发邮件已经是一件...

1939
来自专栏james大数据架构

CSS好看的按钮

好看的按钮 <style> .btn { BORDER-RIGHT: #7b9ebd 1px solid; PADDING-RIGHT: 2px; BORDE...

1997
来自专栏菩提树下的杨过

基于sliverlight + wcf的web 文字版IM 示例

演示地址: http://task.24city.com/default.html 预览界面: ? 一、布局 采用Grid布局,5行2列 第一行:为登录/注册信...

3226

扫码关注云+社区