我在excel中有一个数据,其中一个变量是temp(范围从-3到3),另一个是wind_speed
对于我的猫图,如何设置x轴的范围(温度)
g = sns.catplot(x="temp", y="wind_speed", data=ieq_data, kind="bar")
当我输入此代码时,x轴显示-3,-2,-1、0、1、2、3
我想将其组合成(-3,-2),(-1),(0),(1),(2,3)
编辑:
def temp(x):
if -3 <= x < -2:
return "(-3,-2)"
elif -2 <= x < 0:
return "(-1)"
elif 0 <= x < 2:
return "(1)"
elif 2 <= x <= 3:
return "(2,3)"
ieq_data["new_Thermal"] = ieq_data.temp.apply(temp)
g = sns.catplot (x="new_Thermal", y="wind_speed", data=ieq_data, kind="bar")
答案 0 :(得分:0)
您可以使用任意列表显式替换刻度线。
g.set(xticks=my_ticks_list)
答案 1 :(得分:0)
可以像下面一样创建一个额外的列,并将该列用作x
。
您将不得不重新访问该函数中的分类。这是根据我对您问题的理解。
def grouping_func(val):
if -3 <= val < -2:
return "(-3, -2)"
elif -2 <= val < 0:
return "(-1)"
elif 0 <= val < 2:
return "(1)"
elif 2 <= val <=3:
return "(2, 3)"
ieq_data["new_col"] = ieq_data.temp.apply(grouping_func)
g = sns.catplot(x="new_col", y="wind_speed", data=ieq_data, kind="bar")