本文主要是介绍python可视化-散点图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
散点图可以了解数据之间的各种相关性,如正比、反比、无相关、线性、指数级、 U形等,而且也可以通过数据点的密度(辅助拟合趋势线)来确定相关性的强度。另外,也可以探索出异常值(在远超出一般聚集区域的数据点称)。
1、加载数据
import pandas as pd
from sklearn.datasets import load_iris
import warnings# 禁用所有警告信息
warnings.filterwarnings('ignore')# 加载数据
iris = load_iris()
iris
iris.keys()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target
df.head()
2、基于seaborn的散点图
import numpy as np
import seaborn as sns
import matplotlib.pyplot as pltsns.scatterplot(x=df['sepal length (cm)'], y=df['sepal width (cm)'])
3、基于matplotlib的散点图
plt.plot('sepal length (cm)', 'sepal width (cm)', data=df, linestyle='none', marker='o')
plt.show()
3、绘制子图对比
sns.set(font='SimHei', font_scale=0.8, style="darkgrid") # 解决Seaborn中文显示问题# 构造子图
fig, ax = plt.subplots(2,2,constrained_layout=True, figsize=(8, 8))ax_sub = sns.scatterplot(data=df, x="sepal length (cm)", y="sepal width (cm)", hue='target', ax=ax[0][0])
ax_sub.set_title('1')ax_sub = sns.scatterplot(data=df, x="sepal length (cm)", y="sepal width (cm)", hue='target', style='target', ax=ax[0][1])
ax_sub.set_title('2')ax_sub = sns.scatterplot(data=df, x="sepal length (cm)", y="sepal width (cm)", hue='target', style='petal width (cm)', ax=ax[1][0])
ax_sub.set_title('3')# 增加趋势拟合线
ax_sub = sns.regplot(x=df["sepal length (cm)"], y=df["sepal width (cm)"], fit_reg=True,line_kws={"color":"r","alpha":0.7,"lw":5},ax=ax[1][1])
ax_sub.set_title('增加趋势拟合线')
这篇关于python可视化-散点图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!