版权声明:本文为博主原创文章,允许转载,请标明出处。 https://cloud.tencent.com/developer/article/1352724
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set()
x = np.random.normal(size=100)
# distplot:灵活绘制观测的单变量分布
sns.distplot(x, kde=False)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set()
x = np.random.normal(size=100)
# distplot:灵活绘制观测的单变量分布
# bins:分成20份
sns.distplot(x, bins=20, kde=False)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from scipy import stats, integrate
sns.set()
x = np.random.gamma(6, size=100)
# 数据分布情况
sns.distplot(x, fit=stats.gamma, kde=False)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 根据均值和协方差生成数据
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
df = pd.DataFrame(data, columns=["x", "y"])
plt.plot(df)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
# 观测两个变量之间的分布关系最好用散点图
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
df = pd.DataFrame(data, columns=["x", "y"])
sns.jointplot(x="x", y="y", data=df)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
# 观测两个变量之间的分布关系最好用散点图
mean, cov = [0, 1], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, 1000).T
with sns.axes_style("white"):
sns.jointplot(x=x, y=y, kind="hex", color="k")
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
# 从联机存储库加载数据集(需要internet)
iris = sns.load_dataset("iris")
# 在数据集中绘制两两关系
sns.pairplot(iris)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
# regplot()和lmplot()都可以绘制回归关系,推荐regplot()
tips = sns.load_dataset("tips")
tips.head()
sns.regplot(x="total_bill", y="tip", data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
# regplot()和lmplot()都可以绘制回归关系,推荐regplot()
tips = sns.load_dataset("tips")
tips.head()
sns.lmplot(x="total_bill", y="tip", data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.head()
# x_jitter x轴抖动范围
sns.regplot(x="total_bill", y="tip", data=tips, x_jitter=.05)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.head()
anscombe = sns.load_dataset("anscombe")
print(anscombe)
# scatter_kws:"s" 数据点为的大小,数值越大点位越大
sns.regplot(x="x", y="y", data=anscombe.query("dataset == 'I'"),
ci=None, scatter_kws={"s": 100})
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.head()
# lmplot 图数据和回归模型适用于FacetGrid.
# 这个函数结合了:func: ' regplot '和:class: ' FacetGrid '。
# 它是一个方便的接口,用于跨数据集的条件子集拟合回归模型。
# hue:色调
# palette:调色板
# markers:标记
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips,
markers=["o", "x"], palette="Set1")
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.head()
print(tips)
# lmplot 图数据和回归模型适用于FacetGrid.
# 这个函数结合了:func: ' regplot '和:class: ' FacetGrid '。
# 它是一个方便的接口,用于跨数据集的条件子集拟合回归模型。
# hue:色调
# palette:调色板
# markers:标记
# col:以此列来进行分组渲染
sns.lmplot(x="total_bill", y="tip", hue="smoker", col="sex", data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.head()
print(tips)
# lmplot 图数据和回归模型适用于FacetGrid.
# 这个函数结合了:func: ' regplot '和:class: ' FacetGrid '。
# 它是一个方便的接口,用于跨数据集的条件子集拟合回归模型。
# hue:色调
# palette:调色板
# markers:标记
# col:以此列来进行分组渲染
# row:以此行来进行分组渲染
sns.lmplot(x="total_bill", y="tip", hue="smoker", col="sex",row="time", data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.head()
f, ax = plt.subplots(figsize=(5, 5))
# col_wrap:“Wrap” 列变量位于此宽度,以便列facet跨越多个行
# size :每个面的高度(英寸)
sns.lmplot(x="total_bill", y="tip", col="day", data=tips,
col_wrap=2, size=4)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.head()
f, ax = plt.subplots(figsize=(5, 5))
# col_wrap:“Wrap” 列变量位于此宽度,以便列facet跨越多个行
# size :每个面的高度(英寸)
# aspect :横轴比上纵轴的比例
sns.lmplot(x="total_bill", y="tip", col="day", data=tips,
col_wrap=2, size=4, aspect=.5)
plt.show()