網站首頁 編程語言 正文
本文速覽
1、繪圖數據準備
依舊使用鳶尾花iris數據集,詳細介紹見之前文章。
#導入本帖要用到的庫,聲明如下: import matplotlib.pyplot as plt import numpy as np import pandas as pd import palettable from pandas import Series,DataFrame from sklearn import datasets import seaborn as sns import palettable #導入鳶尾花iris數據集(方法一) #該方法更有助于理解數據集 iris=datasets.load_iris() x, y =iris.data,iris.target y_1 = np.array(['setosa' if i==0 else 'versicolor' if i==1 else 'virginica' for i in y]) pd_iris = pd.DataFrame(np.hstack((x, y_1.reshape(150,1))),columns=['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(cm)','class']) #astype修改pd_iris中數據類型object為float64 pd_iris['sepal length(cm)']=pd_iris['sepal length(cm)'].astype('float64') pd_iris['sepal width(cm)']=pd_iris['sepal width(cm)'].astype('float64') pd_iris['petal length(cm)']=pd_iris['petal length(cm)'].astype('float64') pd_iris['petal width(cm)']=pd_iris['petal width(cm)'].astype('float64') #導入鳶尾花iris數據集(方法二) #該方法有時候會卡巴斯基,所以棄而不用 #import seaborn as sns #iris_sns = sns.load_dataset("iris")
數據集簡單查看
2、seaborn.regplot
seaborn.regplot(x, y, data=None, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, marker='o', scatter_kws=None, line_kws=None, ax=None)
regplot默認參數線型回歸圖
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2)#設置主題,文本大小 g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, color='#000000',#設置marker及線的顏色 marker='*',#設置marker形狀 )
分別設置點和擬合線屬性
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, color='#000000', marker='*', scatter_kws={'s': 60,'color':'g',},#設置散點屬性,參考plt.scatter line_kws={'linestyle':'--','color':'r'}#設置線屬性,參考 plt.plot
置信區間(confidence interval)設置
注意擬合線周圍陰影面積變化?
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, color='#000000', marker='*', ci=60,#置信區間設置,默認為95%置信區間,越大線周圍陰影部分面積越大 )
擬合線延伸與坐標軸相交?
# extend the regression line to the axis limits plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, color='#000000', marker='*', truncate=False,#讓擬合線與軸相交 )
擬合離散變量曲線
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) x_discrete=[0 if i=='setosa' else 1 if i=='versicolor' else 2 for i in pd_iris['class']]# g=sns.regplot(x=x_discrete, y='sepal width(cm)', data=pd_iris,#x此時為離散變量 color='#000000', marker='*', )
多項式回歸( polynomial regression)擬合曲線
plt.figure(dpi=110) sns.set(style="whitegrid",font_scale=1.2) g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, marker='*', order=4,#默認為1,越大越彎曲 scatter_kws={'s': 60,'color':'#016392',},#設置散點屬性,參考plt.scatter line_kws={'linestyle':'--','color':'#c72e29'}#設置線屬性,參考 plt.plot )
3、seaborn.lmplot
seaborn.lmplot(x, y, data, hue=None, col=None, row=None, palette=None, col_wrap=None, height=5, aspect=1, markers='o', sharex=True, sharey=True, hue_order=None, col_order=None, row_order=None, legend=True, legend_out=True, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None, size=None)
seaborn.lmplot結合seaborn.regplot()和FacetGrid,比seaborn.regplot()更靈活,可繪制更個性化的圖形。
按變量分類擬合回歸線
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, hue='class', ) g.fig.set_size_inches(10,8)
散點marker設置
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, hue='class', markers=['+','^','o'], #設置散點marker ) g.fig.set_size_inches(10,8)
散點調色盤
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, hue='class', markers=['+','^','*'], scatter_kws={'s':180}, palette=["#01a2d9", "#31A354", "#c72e29"],#調色盤 ) g.fig.set_size_inches(10,8)
擬合線屬性設置
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, hue='class', markers=['+','^','*'], scatter_kws={'s':180}, line_kws={'linestyle':'--'},#擬合線屬性設置 palette=["#01a2d9", "#31A354", "#c72e29"], ) g.fig.set_size_inches(10,8)
繪制分面圖?
plt.figure(dpi=100) sns.set(style="whitegrid",font_scale=1.2) g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris, col='class',#按class繪制分面圖 markers='*', scatter_kws={'s':150,'color':'#01a2d9'}, line_kws={'linestyle':'--','color':'#c72e29'},#直線屬性設置 ) g.fig.set_size_inches(10,8)
原文鏈接:https://blog.csdn.net/qq_21478261/article/details/108174767
相關推薦
- 2023-07-15 express 連接 MongoDb
- 2022-12-11 Go語言實現棧與隊列基本操作學家_Golang
- 2022-10-18 go日志庫中的logrus_Golang
- 2024-03-25 Intellij IDEA 啟動tomcat報錯
- 2022-11-19 GoLang中的iface?和?eface?的區別解析_Golang
- 2024-04-05 springboot注冊攔截器與返回統一標準響應格式
- 2022-06-09 Python中re模塊的元字符使用小結_python
- 2022-11-04 ASP.NET?MVC獲取多級類別組合下的產品_實用技巧
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支