python 数据可视化之图表选择

发布于:2022-12-06 ⋅ 阅读:(386) ⋅ 点赞:(0)

一、变量中常用的图表选择以及代码缩写

变量个数 数据类型 使用的绘图方式 使用命令
单变量 分类变量 简单条数

1、DataFrame.plot.bar()

2、matplotlib.pyplot.bar()

3、seaborn.barplot()

4、seaborn.countplot()

饼图

1、DataFrame.plot.pie()

2、matplotlib.pyplot.pie()

数值变量 条带图        

1、seaborn.stripplot()

2、seaborn.swarmplot() #效果较上更好一点

直方图

1、DataFrame.plot.hist()

2、matplotlib.pyplot.hist()

3、seaborn.histplot() #如果报错检查seaborn版本

4、seaborn.displot()

KDE图 seaborn.kdeplot()
箱图

1、DataFrame.plot.box()

2、matplotlib.pyplot.boxplot()

3、seanborn.boxplot()

增强箱图
(可以表示8、16...32分位图形)
seaborn.boxenplot()
提琴图 seaborn.violinplot()
P-P图
Q-Q图
双变量 分类vs分类 分组图
面板图(行、列)

1、seaborn.catplot()

分段条图(累积条图)
树状图
复杂饼图
数值vs分类

分组条带图

分组箱图

分组提琴图

同类图形组合

数值vs数值 散点图

1、DataFrame.plot.scatter()

2、matplotlib.pyplot.scatter()

3、seanborn.scatterplot()

二、常用图表展示

2.1 直方图

DataFrame.plot.hist() #DataFrame数据中一列值

 2.2 KDE图

import seaborn as sns 
sns.kdeplot(DataFrame, bw = .5, label = "bw: 0.5") # DataFrame数据中一列值
sns.kdeplot(DataFrame, bw = 1, label = "bw: 1")
sns.kdeplot(DataFrame, bw = 2, label = "bw: 2")

 2.3 箱图

sns.boxplot(y = DataFrame, saturation = 0.3, 
            width = 0.5, linewidth = 3, fliersize = 10)# DataFrame数据中一列值

 2.4 增强箱图

sns.boxenplot(x = ccss.time, y = ccss.index1, 
           scale = 'area', outlier_prop = 0.1) # x横轴序列 Y数据中的一列值

 2.5 提琴图

#violinplot 提琴图相关参数
seaborn.violinplot(

x=None, y=None, hue=None, data=None, order=None, hue_order=None

bw = 'scott' #: KDE图的具体计算方法或者核宽度 {‘scott’, ‘silverman’, float}, optional
cut = 2 #: 绘图时是否超越两端的极值,设为0时严格限定在观测值范围内
scale = 'area' #: 各KDE图形设置为相同面积/按照频数设定宽度/相同宽度{“area”, “count”, “width”}, optional
gridsize = 100 #: 用于形成KDE曲线的散点数,越多越光滑 
width = 0.8 #: 图形占的宽度比例 
inner = 'box' #: 提琴图内部呈现的图形种类,箱图/分位数/原始数据。
   # {“box”, “quartile”, “point”, “stick”, None}, optional
saturation = 0.75 #: 图形色彩饱和度。
)

#使用seaborn画图
sns.violinplot(y =DataFrame, inner = "box")

 2.6 散点图

mu_vec1 = np.array([0,0])
cov_mat1 = np.array([[2,0],[0,2]])

x1_samples = np.random.multivariate_normal(mu_vec1, cov_mat1, 100)
x2_samples = np.random.multivariate_normal(mu_vec1+0.2, cov_mat1+0.2, 100)
x3_samples = np.random.multivariate_normal(mu_vec1+0.4, cov_mat1+0.4, 100)

plt.figure(figsize = (8,6))
plt.scatter(x1_samples[:,0],x1_samples[:,1],marker ='x',color='blue',alpha=0.6,label='x1')
plt.scatter(x2_samples[:,0],x2_samples[:,1],marker ='o',color='red',alpha=0.6,label='x2')
plt.scatter(x3_samples[:,0],x3_samples[:,1],marker ='^',color='green',alpha=0.6,label='x3')
plt.legend(loc='best')
plt.show()

 

2.7 面板图

sns.catplot(x = 'time', y = 'index1', col = 's0', data = ccss, 
            kind = "box")

三、图表元素

3.1 线条

3.2 颜色


网站公告

今日签到

点亮在社区的每一天
去签到