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()
相关推荐
硬匠的博客1 分钟前
C/C++指针
c语言·开发语言·c++
EvanSun__5 分钟前
python学习 -- 综合案例1:设计一款基于python的飞机大战小游戏
python·学习·pygame
向日葵.18 分钟前
CMake学习
开发语言·c++·学习
站大爷IP24 分钟前
Webview+Python:用HTML打造跨平台桌面应用的创新方案
python
三道杠卷胡27 分钟前
【AI News | 20250417】每日AI进展
人工智能·pytorch·python·语言模型·github
zru_960238 分钟前
Java Stream流之GroupBy的用法
java·开发语言
rqtz1 小时前
【C++面向对象】封装(下):探索C++运算符重载设计精髓
开发语言·c++·运算符重载
jerry2011081 小时前
R语言之环境清理
开发语言·r语言
Tanecious.1 小时前
机器视觉--Python补充知识
android·开发语言·python
難釋懷1 小时前
bash的特性-命令和文件自动补全
开发语言·bash