python数据分析之云雨图(箱型图+分布图+散点图)

图效果

代码实现

1、导入包

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

2、读取.csv文件

df=pd.read_csv(D:/driver/Analysis/jiangwei.csv)#读取csv文件
df1=df[df.carId<=2235] #取数据

df数据 3、绘制云雨图

dy="carId"
dx="speed"
ort="h"
pal="Set2"
f, ax=plt.subplots(figsize=(7, 5))
ax=pt.half_violinplot(x=dx, y=dy, data=df1, palette=pal, bw=.2, cut=0.,
                      scale="area", width=.6, inner=None, orient=ort)
ax=sns.stripplot(x=dx, y=dy, data=df1, palette=pal, edgecolor="white",
                 size=3, jitter=1, zorder=0, orient=ort, )
ax=sns.boxplot(x=dx, y=dy, data=df1, color="black", width=.15, zorder=10,
              showcaps=True, boxprops={
          
   facecolor:none,"zorder":10},
              showfliers=True, whiskerprops={
          
   linewidth:2,"zorder":10},
              saturation=1, orient=ort)
plt.title("Raincloud")
plt.show()

全部代码

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

df=pd.read_csv(D:/driver/Analysis/jiangwei.csv)#读取csv文件
df1=df[df.carId<=2235] #取数据

dy="carId"
dx="speed"
ort="h"
pal="Set2"
f, ax=plt.subplots(figsize=(7, 5))
ax=pt.half_violinplot(x=dx, y=dy, data=df1, palette=pal, bw=.2, cut=0.,
                      scale="area", width=.6, inner=None, orient=ort)
ax=sns.stripplot(x=dx, y=dy, data=df1, palette=pal, edgecolor="white",
                 size=3, jitter=1, zorder=0, orient=ort, )
ax=sns.boxplot(x=dx, y=dy, data=df1, color="black", width=.15, zorder=10,
              showcaps=True, boxprops={
          
   facecolor:none,"zorder":10},
              showfliers=True, whiskerprops={
          
   linewidth:2,"zorder":10},
              saturation=1, orient=ort)
plt.title("Raincloud")
plt.show()
经验分享 程序员 微信小程序 职场和发展