Matplotlib绘图一网打尽【持续更新ing】

2 绘制扇形图

绘制一个展示男女乘客比例的扇形图

得出男女的具体数字

python 复制代码
sex_per = df["Sex"].value_counts()
sex_per
python 复制代码
# 把画图的包导入进来
import matplotlib.pyplot as plt

# 这种绘图方式主要用于有多个子图以及复杂的图形布局的时候。

fig,ax = plt.subplots()

# plt.subplots() 会创建一个新的图形(figure)和对应的轴(axes)对象。
# 这个函数返回一个元组,第一个元素是图(figure),第二个元素是轴(axes)。

# fig 是用来设置图形的一些全局属性,比如标题、坐标轴范围等。
# ax 是一个包含两个轴的子图对象,可以用于绘制图形。

ax.pie(sex_per, labels=sex_per.index)
# 
# 第一个参数是,绘图的数据
# 第二个参数是图中的标签,这句话亦可 ax.pie(sex_per, labels=["male","female"])

ax.set_title("Pie Chart")

plt.show()

# 用于在用户界面中打开一个窗口来显示绘制的图形。
# 如果你在绘图过程中省略了plt.show(),那么图形可能不会以预期的方式显示出来。
# 这是因为plt.show()会触发图形的渲染和显示过程。
# 在一些情况下,例如在Jupyter Notebook或IPython中,plt.show()可能不是必需的,
# 因为图形会自动显示。但在其他环境中,例如在脚本或Python交互式解释器中,使用plt.show()是必要的,否则图形将不会显示。
# 因此,虽然plt.show()不是绝对必需的,但在绘图过程中通常建议使用它以确保图形正确显示。
python 复制代码
# 没有多个子图的时候直接用plt绘图即可
plt.pie(sex_per, labels=sex_per.index)
ax.set_title("Pie Chart")
plt.show()

3 绘制散点图

绘制一个展示票价 Fare, 与乘客年龄和性别的散点图

python 复制代码
# 票价与年龄 的散点图


# 用ax绘图,把横纵坐标的数据输入进去
plt.scatter(df["Fare"],df["Age"])
# 添加标题
plt.title(" Fare vs Age")
# 横坐标的标签
plt.xlabel("Fare")
plt.ylabel("Age")
# 纵坐标的标签

plt.show()

将文字的某一列("男"和"女")转成数字

python 复制代码
# 使用map,用一个函数进行映射,将字符串转成数字
Sex = df.Sex.map(lambda x: 0 if x=='male' else 1)
Sex

4 绘制直方图

python 复制代码
plt.hist(df.Fare)
plt.title("The histogram of Fare")
plt.xlabel("Fare")
plt.ylabel("Frequency")

5 柱状图

python 复制代码
import matplotlib.pyplot as plt  
  
# 数据  
# 每一个柱子的名字
bars = ('A', 'B', 'C', 'D', 'E')  
# 横坐标每一个数字,实际的数字
x_pos = range(len(bars))  
# 柱子的高度
height = [3, 7, 2, 5, 6]  
  
# 创建柱状图  
# 第一个参数写横坐标的真实数字,第二个参数写柱子的高度
plt.bar(x_pos, height)  
  
# x轴上  每个真实的数字,对应的替换的字母名字
plt.xticks(x_pos, bars)  
  
# 显示图像  
plt.show()
相关推荐
睡美人的小仙女1272 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
rayufo2 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk2 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
缺点内向3 小时前
C#编程实战:如何为Word文档添加背景色或背景图片
开发语言·c#·自动化·word·.net
一起养小猫3 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
zhougl9963 小时前
Java 所有关键字及规范分类
java·开发语言
Python 老手3 小时前
Python while 循环 极简核心讲解
java·python·算法
java1234_小锋3 小时前
Java高频面试题:MyISAM索引与InnoDB索引的区别?
java·开发语言
2501_944525543 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
qq_417129254 小时前
C++中的桥接模式变体
开发语言·c++·算法