Python数据可视化之绘制抖动的带状图(图文并茂版!!!)
Posted 温柔且上进c
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据可视化之绘制抖动的带状图(图文并茂版!!!)相关的知识,希望对你有一定的参考价值。
绘制抖动的带状图
数据准备
•数据的详细获取方式参考博文:Python数据可视化之绘制带有最佳拟合线的散点图(图文并茂版!!!)
•上述博客详细的描述了从数据获取,到数据分析包含数据特征值的解读等等!!
需要抖动的带状图的原因
•首先我们使用上述数据集来绘制一幅简单的散点图,需要带状图原因就在其中!!
import matplotlib.pyplot as plt
import pandas as pd
# 获取数据
df = pd.read_csv(r'D:\\9\\mpg_ggplot2.csv')
# 绘制简单散点图
plt.figure(figsize=(6, 6))
plt.scatter(df.cty # 横坐标
, df.hwy) # 纵坐标
plt.show()
图像显示:
•首先来分析我们绘图所用的数据集,如下图!!
•由上图可得,如果将图中某两个特征值作为横纵坐标来绘制成散点图,则应该有234个点!!!
•但是,从我们绘制的散点图来看,点数最多不超过200个,原因就是在绘制散点图前,首先会自动将那些横纵坐标相同的点去重,即将多个横纵坐标相同的点看成一个点来绘制图像!!!
•并且从上述我们绘制的散点图来看,我们不知道是那些点有更多的相同值,它们每个点的大小,颜色都是相同的。所以如果我们想要绘制并展示出那些横纵坐标一致的点,就需要抖动的带状图
来展示!!!
绘制抖动的带状图
•上面我们分析了,需要带状图的原因,现在我们就使用和上面一样的数据来绘制抖动的带状图!!
代码测试:
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
df = pd.read_csv(r'D:\\9\\mpg_ggplot2.csv')
# 建立画布与子图对象
fig, ax = plt.subplots(figsize=(12, 8), dpi=80) # ax 为子图对象 fig 为画布
# 绘制抖动图
sns.stripplot(x=df.cty, y=df.hwy
, jitter=0.25 # 重要参数 抖动的幅度
, size=8
, ax=ax
, linewidth=.5
# , palette='tab20' # 设置所需的调色板
)
# 装饰图片
plt.rcParams['font.sans-serif'] = ['Simhei'] # 设置字体为黑体
plt.xlabel('城市里程/加仑', fontsize=16) # x轴名称
plt.ylabel('公路里程/加仑', fontsize=16) # y轴名称
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.title('Use jittered plots to avoid overlapping of points', fontsize=22)
plt.show()
图像显示:
注意:重要参数
•jitter
:抖动的幅度(即同一位置两个点的距离大小),0 表示安全不存在抖动!!!
•palette
:调色板,即为不同点的颜色,不使用此参数即为使用默认的调色板,也可自定义使用其他种类的调色板
•fig, ax = plt.subplots(figsize=(12, 8), dpi=80)
,同时设置子图对象与画布两个属性
总结
•抖动的带状图的作用就是向我们展示哪些位置存在着相同的点,根据抖动的幅度来判断各个相同点的数量的多少
以上是关于Python数据可视化之绘制抖动的带状图(图文并茂版!!!)的主要内容,如果未能解决你的问题,请参考以下文章
Python数据可视化之使用spatial绘制气泡图凸包(图文并茂详细版!!!)
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(水平带状图垂直带状图抖动程度配置)实战
Python数据可视化之绘制带有最佳拟合线的散点图(图文并茂版!!!)