第8天 | 16天搞定Python数据分析,Seaborn主

liftword5个月前 (12-20)技术文章52

在这个看颜值的时代,matplotlib长得太一般,很难吸异性暗送秋波的眼光。为此,Seaborn对其进行了变装,修改了默认的颜色方案和绘图类型,提高了可读性和美观度。

赏心悦目的图形不但能让数据探索中一些重要的细节更容易被挖掘,也能更有利于在与异性交流分析,并在此过程中,吸引她或他的注意力,让其更容易记住你的美。

说的好不如做的好,按照国际惯例,先用pip3 install scipy安装Seaborn依赖库,再运行pip3 install seaborn命名安装其真身。

8.1 美?

在没见过Seaborn对性别数据进行统计分析之前,我见到的大多数是这样的。简单是简单,颜值也还可以,如果没见过Seaborn的统计图,我以为这辈子见到的就这样了(这里有点浮夸了)。

用Seaborn实现分类统计分析,原来还可以这么美,关键是代码也不多,好了,废话不多说,上性别统计的代码。

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# 指定画布大小,默认为600*480
fig, axes = plt.subplots(figsize=(9, 6))
sns.set()
tips = pd.read_csv("tips.csv")
sns.swarmplot(x="day", y="total_bill", hue="sex", data=tips)
# 保存图片
fig.savefig("test.png")

输出结果

8.2 几步?

不单单是Seaborn,其他数据分析库也一样,我培训同事时,都是用我原创的4步分析法,在这,我就大大方方的分享给你吧。希望你也大大方方地转发分享出去。

数据分析的4个步骤,分别是:选择主题(sns.set),载入数据(read_csv),定图连数,输出结果(test.png)。能理解么?不能的话,一会儿就背诵代码吧。

有关载入数据和输出结果,之前学过了,这里就不再赘述了,主题在这次讲,定图连数下次再说。用代码验证步骤之后,下节就进入主题。

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# 指定画布大小,默认为600*480
fig, axes = plt.subplots(figsize=(9, 6))
# 1. 选择主题
sns.set()
# 2. 载入数据
tips = pd.read_csv("tips.csv")
# 3. 定图连数
sns.violinplot(x="day", y="total_bill", data=tips, split=True)
# 4. 输出结果
fig.savefig("test.png")

输出结果

8.3 主题

程序员的核心主题,是编程和找异性朋友,软件的核心主题是风格、颜色、字体。颜色还是用默认的好,毕竟你不是读美术专业的,当然,我也不是。嘎嘎嘎~

1. 风格

Seaborn内置的风格有darkgrid(默认风格)、whitegrid、dark、white和ticks五种,由set、set_style或axes_style方法进行设置

set:通用设置接口;set_style:风格专用设置接口,设置后全局风格随之改变;axes_style,设置当前图(axes级)的风格,返回设置后的风格系列参数。5种风格,我只输出其中的两种,另外的你自己体验。

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt


def sinplot(flip=1):
    x = np.linspace(10, 20, 100)
    for i in range(1, 5):
        plt.plot(x, np.sin(x + i * 0.6) * (6 - i) * flip)


# 选择风格darkgrid、whitegrid、dark、white和ticks五选1
sns.set(style="darkgrid")
# 调用这个函数
sinplot()
plt.show()

指定为whitegrid时的输出结果

指定为dark时的输出结果

2. 字体

seaborn库中有4种环境可以进行设置,分别是notebook(默认环境)、paper、talk和poster,因为设置之后,受影响较大的是字体,所有你应该重点关心字体内容。设置方法,分别为:

set:通用设置接口;set_context:环境设置专用接口,设置后全局绘图环境随之改变;plotting_context:设置当前图(axes级)的绘图环境,同时返回设置后的环境系列参数。

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# 指定画布大小,默认为600*480
fig, axes = plt.subplots(figsize=(9, 6))
# 1. 选择主题(风格和字体)
sns.set_style("dark")
sns.set_context("talk", font_scale=2.0)
# 2. 载入数据
tips = pd.read_csv("tips.csv")
# 3. 定图连数(小提琴和树形混合图)
sns.violinplot(x="day", y="total_bill", data=tips, inner=None)
sns.swarmplot(x="day", y="total_bill", data=tips, color="w", alpha=0.6)
# 4. 输出结果
fig.savefig("test.png")

输出结果

图形中要用到数据,自己去https://github.com/mwaskom/seaborn-data进行下载。

好了,有关Seaborn主题的内容,老陈讲完了,如果觉得对你有所帮助,希望老铁能转发点赞,让更多的人看到这篇文章。你的转发和点赞,就是对老陈继续创作和分享最大的鼓励。

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注今日头条:老陈说编程。分享Python,前端(小程序)、App和嵌入式方面的干货。关注我,没错的。

#Python##数据分析##程序员##大数据##主题#

相关文章

"Python数据分析基石:Pandas全方位解析(史上最全面!)"

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快...

Python数据分析:利用Pandas进行数据挖掘

数据分析是现代商业和科研中不可或缺的技能,而Python的Pandas库则是进行数据分析的强大工具。Pandas提供了丰富的数据结构和数据分析功能,使得处理和分析数据变得更加简单和高效。以下是一些使用...

对数据分析真的超实用!分享3款Python做数据分析必掌握的三方库

大家好,我是梓羽!作为一个热爱编程和数据的程序员,数据分析这块内容也经常围绕在我的工作周围。今天就为大家分享3款,Python技术下数据分析经常会使用到的三个库。(非Pandas|Numpy)聊聊Pa...