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()
相关推荐
火一线4 分钟前
【C#知识点详解】基类、抽象类、接口类型变量与子类实例的归纳总结
开发语言·c#
李慕婉学姐11 分钟前
【开题答辩过程】以《基于PHP的动漫社区的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
开发语言·mysql·php
魔芋红茶32 分钟前
Netty 简易指南
java·开发语言·netty
洵有兮37 分钟前
python第四次作业
开发语言·python
kkoral39 分钟前
单机docker部署的redis sentinel,使用python调用redis,报错
redis·python·docker·sentinel
wjs202440 分钟前
C++ 多线程编程入门指南
开发语言
BoBoZz191 小时前
IterativeClosestPoints icp配准矩阵
python·vtk·图形渲染·图形处理
小严家1 小时前
Java基础教程大全完整学习路径
java·开发语言·学习
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于Java的电影推荐系统为例,包含答辩的问题和答案
java·开发语言
sheji34161 小时前
【开题答辩全过程】以 基于SSM的校园新冠疫苗接种信息管理系统为例,包含答辩的问题和答案
java·开发语言