zoukankan      html  css  js  c++  java
  • seaborn关联图---散点线性图replot、散点图scatterplot、线形图lineplot

    1.relplot

    它用散点图和线图两种常用的手段来表现统计关系。relplot()使用两个坐标轴级别的函数来结合了FacetGrid:

    1. scatterplot():(使用kind="scatter",这是默认参数)
    2. lineplot():(使用`kind="line")
    seaborn.relplot(x=None, y=None, hue=None, size=None, style=None, data=None, row=None, col=None, col_wrap=None, row_order=None, col_order=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=None, dashes=None, style_order=None, legend='brief', kind='scatter', height=5, aspect=1, facet_kws=None, **kwargs)
    View Code
    1. size一般接受连续数值型变量,但是我们也可以传入分类型变量。但是要慎重考虑这种做法,因为这样比“粗线 vs. 细线”的区分难多了。然而,当数据具有非常高频的变异性时,我们使用style表现的不同线条样式会很难区分,这时使用不同的线条宽度就是一个更高效的选择了
    2. 使用col(列)和row(行)参数来展示两个变量的影响。当我们在图中增加了更多的变量时(会有更多的子图),我们可能会想要调整图形的大小。要记住在FacetGrid中,我们用height(子图高度)和aspect(高宽比)来定制每个子图的大
    3. 详细介绍
    4. seaborn.relplot

    2.scatterplot 散点图

    显示观察数据的分布,描述数据的相关性

    seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=True, style_order=None, x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)
    View Code
    1. x,y:输入的绘图数据,必须是数值型数据
    2. hue:对输入数据进行分组的序列,使用不同颜色对各组的数据加以区分
    3. size:对输入数据进行分组的序列,使用不同点尺寸对各组的数据加以区分
    4. style:对输入数据进行分组的序列,使用不同点标记对各组的数据加以区分
    5. data:pandas.DataFrame型参数,不能包含非数值型数据,否则会报错。使用该参数的好处为下列两种情况之一
      1. 第一种情况,快捷的绘制DataFrame内每一列的数据 sns.scatterplot(data=df)
      2. 第二种情况,输入绘图的x,y变量时,可以写简单一点 sns.scatterplot('a','b',data=df)
    6. palette:在对数据进行分组时,设置不同组数据的显示颜色。hue参数使用的是默认的颜色,如果需要更多的颜色选项,则需要通过调色盘来设置,可以使用seaborn.color_palette()函数来设置颜色
    7. hue_order:在使用hue参数对数据进行分组时,可以通过该参数设置数据组的显示顺序
    8. sizes:当使用size参数、以不同尺寸显示不同组数据时,可以通过sizes参数来设定具体的尺寸大小。该参数可以传入一个尺寸序列,也可以传入一个包含两个元素的元祖,分别制定尺寸的上下限。
    9. size_order:和hue_order参数作用一样,不过设置的是尺寸的显示顺序
    10. markers:当使用style参数、以不同的标记显示不同组数据时,可以通过该参数设置不同组数据的标记
    11. 详细介绍
    12. seaborn.scatterplot 

    3.lineplot 折线图

    seaborn.lineplot(x=None, y=None, hue=None, size=None, style=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, dashes=True, markers=None, style_order=None, units=None, estimator='mean', ci=95, n_boot=1000, sort=True, err_style='band', err_kws=None, legend='brief', ax=None, **kwargs)
    View Code

    举例:

    #任务数变化 
    df_precision_change_tasknum = pd.read_excel('实验记录.xlsx',
                                  sheet_name='truth discovery(任务数变化)')
    sns.set(style='ticks')
    sns.set_context(rc={'lines.linewidth':5})
    
    plt.xlim((19,300.5))
    plt.ylim((0.8,1))
    plt.xticks(np.arange(20, 301, 40))
    plt.yticks([0.80,0.84,0.88,0.92,0.96])
    
    palette = sns.diverging_palette(250, 199, l=40, n=4, center="dark")
    ax = sns.lineplot(x="tasknum", y="Precision",hue = 'algorithm', data=df_precision_change_tasknum, 
                      markers = False,palette = palette,style='algorithm')
    plt.xlabel('Number of tasks ($n=120$)', fontdict={'color': 'black',
                                 'family': 'Times New Roman','size': 18})
    plt.ylabel('precision', fontdict={'color': 'black',
                              'family': 'Times New Roman',
                              'size': 18})
    plt.legend(['DATE','MV','ED','NC'],prop={'style': 'italic'})#图例
    plt.grid(True)
    plt.tight_layout()
    #plt.savefig('local_pic/TD_precision_tasknum.jpg',dpi=600)
    plt.savefig('loc_svg/TD_precision_tasknum.svg')
    plt.show()
    View Code

     

    修改虚线实线:python-如何在seaborn lineplot上绘制虚线? - 堆栈溢出python-如何在seaborn lineplot上绘制虚线? - 堆栈溢出

  • 相关阅读:
    Huffman树与编码
    Python引用复制,参数传递,弱引用与垃圾回收
    Git使用说明
    numpy使用指南
    Python Socket
    温故知新之 数据库的事务、隔离级别、锁
    Oracle数据库的语句级读一致性
    VirtualBox NAT方式与主机互相通信
    Linux的定时任务
    Redis学习
  • 原文地址:https://www.cnblogs.com/nxf-rabbit75/p/10975701.html
Copyright © 2011-2022 走看看