sns.violinplot 小提琴图控制XY坐标轴范围

该博客探讨了一位作者如何在1月开始绘制年度气温图,尽管数据收集始于3月。作者分享了如何使用Seaborn库中的violinplot,并展示了如何设置月份和温度范围,以便跨年对比每月气温。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想在一月开始剧情,即使数据收集在3月开始2021,为了显示每年的绘图顶部彼此,并能够在视觉上比较相同月份的不同年份。
我尝试了set_xlim的以下用法,但没有成功。

只需将order参数传递给saeborn.violinplot:

fig, ax = plt.subplots(figsize=(24,10))
fontsize=18

plt.rc('xtick', labelsize=fontsize)
plt.rc('ytick', labelsize=fontsize)

plt.rcParams['font.size']=24

sns.violinplot(x = weather21_2h.index.month,
               y = weather21_2h['T out_x'],
               ax=ax,
               palette="GnBu",
               inner = "box",
               order = range(1, 13))
ax.set_title('Statistique des températures par mois 2021')
ax.set_xlabel('Mois', fontsize=24)
ax.set_ylabel('Températures (°C)')

ax.grid(True)

plt.show()      

在这里插入图片描述

调整y的显示范围也很简单:

ax.set_ylim(0,1)
当使用seaborn绘制小提琴图时,可以通过`sns.violinplot()`函数的参数来控制各个元素的样式和布局。下面是一些常用的参数: - `x`, `y`: 指定数据的横纵坐标,可以是DataFrame或Series中的列名,也可以是numpy数组。 - `hue`: 按照某个分类变量对数据进行分组,并用不同颜色的小提琴图表示不同组别的数据。 - `data`: 指定数据源,可以是DataFrame或Series。 - `split`: 是否将小提琴图分成两半,分别表示两个分类变量的数据。默认为False。 - `inner`: 小提琴图内部的样式,可以是“box”,“quartile”,“point”和“stick”中的一种。默认为“box”,表示绘制小提琴图的中位数和四分位数范围。 - `scale`: 小提琴图的宽度缩放因子,可以是“area”,“count”,“width”中的一种。默认为“area”,表示根据样本数量自适应调整小提琴图的宽度。 - `bw`: 控制内核密度估计的带宽大小。默认为"scott",可选值有"scott"、"silverman"和float类型的数值。 - `cut`: 控制小提琴图的截断方式,可以是numpy.percentile的参数或者是一个浮点数。默认为None,表示不截断。 - `color`: 小提琴图的颜色。 - `palette`: 用于绘制分类变量的小提琴图的颜色调色板。 - `linewidth`: 小提琴图边缘线宽度。 - `width`: 小提琴图的宽度。 - `outer`: 是否在小提琴图外部绘制观测值的分布。 - `inner_c`: 小提琴图内部的颜色。 - `ax`: 用于绘制小提琴图的matplotlib子图对象。 使用这些参数可以灵活控制小提琴图的样式和布局。例如,可以通过以下代码绘制一个带有两个分类变量和观测值散点图的小提琴图: ```python import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") sns.violinplot(x="day", y="total_bill", hue="sex", data=tips, split=True, inner="stick") sns.swarmplot(x="day", y="total_bill", hue="sex", data=tips, dodge=True, color=".2") plt.show() ``` 输出结果如下所示: ![image.png](attachment:image.png) 在这个例子中,我们使用了`tips`数据集中的`day`和`total_bill`两个变量,按照`sex`变量进行了分组,并使用`split=True`将小提琴图分成了两半。另外,我们使用了`inner="stick"`将小提琴图的内部样式设置为“stick”,同时使用`sns.swarmplot()`函数绘制观测值散点图,并使用`dodge=True`将散点图按照`hue`变量进行了分组。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值