Python绘图基础:pandas读取Excel文件+bar函数绘制条形图

上一篇文章我们认识了绘图区,以及如何调整坐标轴刻度线、边线等,相信大家对画图已经有了初步的了解。那么就给带领大家使用pandas库读取Excel,绘制一个完整的图形。

附上一篇文章链接:Python绘图基础:认识绘图区+subplot创建子图

Excel名称:data_01.xlsx

Python绘图基础:pandas读取Excel文件+bar函数绘制条形图_第1张图片

 读者可以自行编辑数据

一:pandas读取文件

1:首先我们导入绘图所需要的库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

2:读取Excel文件

df = pd.read_excel(r"D:\pycharm\pycharm_projects\data\data_01.xlsx", sheet_name=0)
# r"文件路径"
# sheet_name:表示要读取工作表名称。一个Excel中可能有多个sheet,默认第一个sheet_name=0

更多pd.read_excel参数

3:输出Excel文件

print(df)

输出下面图形,就代表成功读取文件:

Python绘图基础:pandas读取Excel文件+bar函数绘制条形图_第2张图片

二:bar函数绘制条形图

1:bar函数参数

ax.bar(x, y, color="k", edgecolor="k", width=0.3, tick_label=x0)

x:         表示x坐标,数据类型为int或float类型,
height:    表示柱状图的高度,也就是y坐标值,数据类型为int或float类型,
width:     表示柱状图的宽度,取值在0~1之间
color:    条形图的颜色
edgecolor:条形图边框颜色
tick_label:条形图刻度标签

更多bar函数参数

2:提取已读数据

x0 = df["国家"]
# 将"国家"这一列转化为列表的形式赋值给x0
# x0 = ["中国","美国","印度","俄罗斯","巴西","印度尼西亚","阿根廷","法国","乌克兰","加拿大"]
y = df["粮食产量"]
# 同样将"粮食产量"这一列转化为列表的形式赋值给y
# y = [68258,57109,31471,13327,11923,11251,7931,6555,6173,5702]

3:绘制图形

完整代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文乱码问题
fig, ax = plt.subplots(figsize=(10, 5))

# 读取Excel文件
df = pd.read_excel(r"D:\pycharm\pycharm_projects\data\data_01.xlsx", sheet_name=0)

x0 = df["国家"]
x = np.arange(10) # 生成 0~9 十个数,为bar函数提供x轴坐标
y = df["粮食产量"]

ax.bar(x, y, color="k", edgecolor="k", width=0.3, tick_label=x0)
# 上、右边线不显示
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

# 只显示y轴网格线
ax.grid(axis="y", c="k", linestyle="-")

# 设置y轴的范围为 0~80000
ax.set_ylim(0, 80000)

# 图名称
ax.set_title("2021年世界各国粮食产量前10强(万吨)", fontsize=14)

# x轴刻度线不显示
ax.tick_params(axis="x", bottom=False)
plt.show()

输出结果如下:

Python绘图基础:pandas读取Excel文件+bar函数绘制条形图_第3张图片

 

你可能感兴趣的:(Python,matplotlib,python,开发语言,经验分享)