美文网首页数据分析
数据分析-05 数据可视化

数据分析-05 数据可视化

作者: ZL玲啊玲 | 来源:发表于2019-06-09 10:28 被阅读0次

数据可视化,将数据以一种直观的方式展现出来。不同图表的功能作用也不同。


图表分类图.png -来自大鹏老师数据分析课程
图表分类图.png -来自大鹏老师数据分析课程
图表分类图.png -来自大鹏老师数据分析课程

这篇主要是介绍matplotlib和seaborn的简单使用。matplotlib一般是用来帮助做数据分析的,可以用python做数据处理,然后导出,用teablue做数据的可视化。

1、导入相关工具包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
sns.set_context('paper')
import warnings
warnings.filterwarnings('ignore') 
print('导入成功!')

2、创建数据

df = pd.DataFrame(np.random.randn(1000, 4), index=pd.date_range('1/1/2000', periods=1000), columns=list('ABCD'))
df = df.cumsum()
df.head(5)
数据.png

3、折线图

df.plot(kind='line', style='--', alpha=0.4, 
        use_indes=True, rot=45, grid=True, 
        figsize=(12,8), title='test',  legend = True, 
        subplots = False, cmap = 'Greens'))
折线图.png

4、散点图、气泡图

plt.figure(figsize = (12,8))
plt.scatter(df['A'],df['B'],marker='.',
           s = df['C']*10,
           cmap = 'Reds',
           c = df['D'],
           alpha = 0.8,)

# s:散点的大小
# c:散点的颜色
# vmin,vmax:亮度设置,标量
# cmap:colormap
气泡图.png

5、箱型图

df.boxplot(figsize = (12,8))

# by:按照列分组做箱型图
df2 = pd.DataFrame(np.random.rand(10,2), columns=['Col1', 'Col2'] )
df2['X'] = pd.Series(['A','A','A','A','A','B','B','B','B','B'])
df2['Y'] = pd.Series(['A','B','A','B','A','B','A','B','A','B'])
print(df2.head())
df2.boxplot(by = 'X', figsize=(12,8))
箱型图.png
分组箱型图.png

6、小提琴图

tips = sns.load_dataset("tips")
print(tips.head())

plt.figure(figsize=(12,8))
sns.violinplot(x="day", y="total_bill", data=tips,
            hue = 'smoker',split = True,   # 是否吸烟切分
            linewidth = 2,   # 线宽
            width = 0.8,     # 箱之间的间隔比例
            palette = 'Blues_r', # 设置调色板
            order = ['Thur','Fri','Sat','Sun'],  # 筛选类别
            scale = 'count',  # 测度小提琴图的宽度:area-面积相同,count-按照样本数量决定宽度,width-宽度一样
            gridsize = 50,   # 设置小提琴图边线的平滑度,越高越平滑
            inner = 'box',   # 设置内部显示类型 → “box”, “quartile”, “point”, “stick”, None
           )
小提琴图.png

7、两个样本数据分布图

#两个样本数据密度分布图
plt.figure(figsize=(12,8))
sns.kdeplot(df['A'],df['B'],
           cbar = True,    # 是否显示颜色图例
           shade = True,   # 是否填充
           cmap = 'Reds',  # 设置调色盘
           shade_lowest=False,  # 最外围颜色是否显示
           n_levels = 20   # 曲线个数(如果非常多,则会越平滑)
           )
# 两个维度数据生成曲线密度图,以颜色作为密度衰减显示

sns.rugplot(df['A'], color="g", axis='x',alpha = 0.5)
sns.rugplot(df['B'], color="r", axis='y',alpha = 0.5)
# 注意设置x,y轴

#两个样本数据散点分布图
plt.figure(figsize=(12,8))
sns.jointplot(df['A'],df['B'],   # 设置xy轴,显示columns名称
              data=df,   # 设置数据
              color = 'k',   # 设置颜色
              s = 50, edgecolor="w",linewidth=1,  # 设置散点大小、边缘线颜色及宽度(只针对scatter)
              kind = 'scatter',   # 设置类型:“scatter”、“reg”、“resid”、“kde”、“hex”
              space = 0.2,  # 设置散点图和布局图的间距
              size = 8,   # 图表大小(自动调整为正方形)
              ratio = 5,  # 散点图与布局图高度比,整型
              marginal_kws=dict(bins=15, rug=True)  # 设置柱状图箱数,是否设置rug
              )  
数据分布图.png

相关文章

网友评论

    本文标题:数据分析-05 数据可视化

    本文链接:https://www.haomeiwen.com/subject/lkxixctx.html