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上繪制虛線? - 堆棧溢出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM