用seaborn绘制散点图


       散点图可以显示观察数据的分布,描述数据的相关性,matlibplot也可以绘制散点图,不过我一般优先使用seaborn库的sctterplot()绘制,下面就介绍一下如何用seaborn.scatterplot()绘制散点图。

1. sctterplot()参数说明

  • x,y:输入的绘图数据,必须是数值型数据
  • hue:对输入数据进行分组的序列,使用不同颜色对各组的数据加以区分。下面是一个例子
ar=np.random.randn(20,4) df=pd.DataFrame(a,columns=['a','b','c','d']) df['e']=pd.Series(['one','one','one','one','one','one','two','two','two','two','two','two','two','two', 'three','three','three','three','three','three']) sns.scatterplot(df['a'],df['b'],hue=df['e'])

                              

  • size:对输入数据进行分组的序列,使用不同点尺寸对各组的数据加以区分。下面是一个例子
#sns.scatterplot(df['a'],df['b'],size=df['e']) #左图,没有加上hue参数 sns.scatterplot(df['a'],df['b'],hue=df['e'],size=df['e']) #右图,加上hue参数

    

  • style:对输入数据进行分组的序列,使用不同点标记对各组的数据加以区分。下面是一个例子
sns.scatterplot(df['a'],df['b'],hue=df['e'],size=df['e'],style=df['e']) 

                                    

  • data:pandas.DataFrame型参数,不能包含非数值型数据,否则会报错。使用该参数的好处为下列两种情况之一
#第一种情况,快捷的绘制DataFrame内每一列的数据 sns.scatterplot(data=df) #第二种情况,输入绘图的x,y变量时,可以写简单一点 sns.scatterplot('a','b',data=df)
  • palette:在对数据进行分组时,设置不同组数据的显示颜色。hue参数使用的是默认的颜色,如果需要更多的颜色选项,则需要通过调色盘来设置,可以使用seaborn.color_palette()函数来设置颜色
  • hue_order:在使用hue参数对数据进行分组时,可以通过该参数设置数据组的显示顺序,例如

 

num=np.random.randn(10,4) df=pd.DataFrame(num,columns=['a','b','c','d']) df['e']=pd.Series(list('xxxyyyzzzz')) sns.scatterplot('a','b',hue=df['e'],data=df,hue_order=['z','y','x'])
  • hue_norm:该参数的作用我暂时没弄明白,先跳过
  • sizes:当使用size参数、以不同尺寸显示不同组数据时,可以通过sizes参数来设定具体的尺寸大小。该参数可以传入一个尺寸序列,也可以传入一个包含两个元素的元祖,分别制定尺寸的上下限。
  • size_order:和hue_order参数作用一样,不过设置的是尺寸的显示顺序
  • size_norm:和hue_norm参数一样,没有弄明白是什么意思
  • markers:当使用style参数、以不同的标记显示不同组数据时,可以通过该参数设置不同组数据的标记
  • style_order:和hue_order参数作用一样,不过设置的是标记的显示顺序
  • {x,y}_bins:没弄明白啥作用


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM