Seaborn数据可视化(三)

1.绘制直方图

使用displot()绘制直方图。

python 复制代码
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

# 生成随机数据
np.random.seed(0)
data = np.random.randn(1000)

# 使用displot绘制直方图
sns.displot(data, bins=10, kde=True)

# 展示图形
plt.show()

结果图:

2.绘制密度曲线图

使用kdeplot绘制密度图。

python 复制代码
import matplotlib.pyplot as plt
df_iris = pd.read_csv('data\iris.csv')
fig,axes = plt.subplots(1,2)
sns.distplot(df_iris['Petal.Length'],ax = axes[0],kde = True,rug = True)
 #kde密度曲线,rug边际毛毯
sns.kdeplot(df_iris['Petal.Length'],ax = axes[1],shade = True) 
#shade阴影
plt.show()

结果图:

3.绘制柱状图

示例1:

python 复制代码
import seaborn as sns

# 设置风格为白色网格风格,颜色调色板为深色调色板
sns.set(style="whitegrid", palette="dark")

# 绘制柱状图,并使用默认设置以外的字体大小
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 25]
sns.barplot(x=categories, y=values)
sns.set(font_scale=1.5)

结果图:

示例2:

python 复制代码
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid",font_scale=1.2)
titanic = sns.load_dataset("titanic")
plt.subplot(1,2,1)
sns.countplot(x="class", hue="who", data=titanic)
plt.subplot(1,2,2)
sns.countplot(x="who", data=titanic,
              facecolor=(0, 0, 0, 0),
              linewidth=5,
              edgecolor=sns.color_palette("dark", 3))
plt.show()

结果图:

4.绘制散点图

python 复制代码
#绘制散点图
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)
data = np.random.randn(100, 2)
colors = ['red', 'blue']
hue = np.random.choice(colors, 100)  # 根据颜色列表生成一个与数据点个数相同长度的颜色序列

sns.scatterplot(x=data[:, 0], y=data[:, 1], hue=hue, palette=colors)

plt.show()

结果图;

5.绘制散点图矩阵

python 复制代码
import seaborn as sns
import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt

# 生成随机数据
np.random.seed(0)
data = np.random.randn(100, 4)  # 生成100行4列的随机数据

# 将数据转换为DataFrame格式
data_frame = pd.DataFrame(data, columns=['A', 'B', 'C', 'D'])

# 使用pairplot绘制散点图矩阵
sns.pairplot(data_frame)

# 展示图形
plt.show()

结果图:

相关推荐
来自远方的老作者2 分钟前
第10章 面向对象-10.4 继承
开发语言·python·继承·单继承·多继承·super函数
解救女汉子8 分钟前
MySQL并发写入如何避免锁竞争_使用队列缓冲与批量插入优化
jvm·数据库·python
qq_342295829 分钟前
HTML函数开发需要SSD吗_SSD对HTML函数开发效率影响【详解】
jvm·数据库·python
qq_4327036612 分钟前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
m0_6403093018 分钟前
如何将 sticky 元素精确定位到父容器的右上角
jvm·数据库·python
带娃的IT创业者21 分钟前
深度解析 Claude Design:如何利用 Anthropic 最新设计范式构建 AI 原生应用
人工智能·python·llm·claude·应用开发·anthropic·ai原生应用
是梦终空24 分钟前
计算机毕业设计271—基于python+深度学习+YOLOV7的车牌识别系统(源代码+数据库+3万字论文)
python·深度学习·opencv·yolo·毕业设计·pyqt5·车牌识别系统
m0_3776182331 分钟前
c++如何将双精度浮点数以科学计数法写入文件_scientific标志【详解】
jvm·数据库·python
weixin_4249993634 分钟前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
2301_7751481537 分钟前
如何用正则具名捕获组 (-) 提升复杂数据的提取效率
jvm·数据库·python