点图表示通过散点图点的位置对数值变量的中心趋势的估计。 点图用于集中在一个或多个分类变量的不同级别之间的比较,有时比条形图更有用。 注:点图只显示平均值(或其他估计值)。但在许多情况下,显示每个分类变量级别的值分布可能更具信息性。此时,其他方法如一个盒子或小提琴可能更合适。
案例代码已上传:Github地址
import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例1: 利用catplot()来实现boxplot()的效果(通过指定kind="box") """ sns.pointplot(x="time", y="total_bill", data=tips) plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例2: 设置hue来对已分组的数据进行第二次分类(通过颜色区别) """ sns.pointplot(x="time", y="total_bill", hue="smoker", data=tips) plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例3: 设置dodge=True实现 沿着分类轴分离不同色调级别的点(hue指定的分类) """ sns.pointplot(x="time", y="total_bill", hue="smoker", data=tips, dodge=True) plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例4: 设置markers=["o", "x"]和线型linestyles=["-", "--"] """ sns.pointplot(x="time", y="total_bill", hue="smoker", data=tips,markers=["o", "x"],linestyles=["-", "--"]) plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例5: 设置调色板palette=Set2,颜色体现在hue的分组数据上 """ sns.pointplot(x="time", y="total_bill", hue="smoker", data=tips, palette="Set2") plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例6: 设置order=["变量名1","变量名2",...]来显示指定分类顺序 """ sns.pointplot(x="time", y="tip", data=tips, order=["Dinner", "Lunch"]) plt.show() import seaborn as sns import matplotlib.pyplot as plt from numpy import median # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例7: 使用中位数作为中心趋势的估计值 """ sns.pointplot(x="day", y="tip", data=tips, estimator=median) plt.show() import seaborn as sns import matplotlib.pyplot as plt # 设置样式风格 sns.set(style="darkgrid") # 构建数据 tips = sns.load_dataset("tips") """ 案例8: 使用catplot()实现pointplot()的效果(通过设置kind="point") """ sns.catplot(x="sex", y="total_bill", hue="smoker", col="time", data=tips, kind="point", dodge=True, height=4, aspect=.7) plt.show()上述案例代码已上传:Github地址 Github地址https://github.com/Vambooo/SeabornCN
更多技术干货在公众号:数据分析与可视化学研社