python - 如何使用matplotlib为Excel工作簿中的不同工作表绘制不同的图表?

标签 python excel pandas matplotlib graph

我有 3 个不同的工作表(Sheet1、Sheet2、Sheet3),每个 X、Y 有 2 列。

enter image description here

我想为这三个各自的工作表绘制 3 个不同的图表。 如何在 PYthon 中使用 Pandas 和 Matplotlib 绘制它们?

最佳答案

pandas 包具有 Excel 读取绘图功能。一种可能的解决方案如下:

# Read all sheets of the workbook
sheets = pd.read_excel("/path/to/your/datafile.xlsx", sheet_name=None)
for sheet_name, df in sheets.items():
    df.plot(x='x', y='y', title=sheet_name)

这给了我一系列看起来像这样的图像(但带有其他工作表标题 - 我将数据复制到三张工作表上)。

enter image description here

如果您只想要特定的工作表名称,您可以使用 read_excel 调用

for sheet_name in ("Sheet1", "Sheet2", "Sheet3"):
    df = sheet[sheet_name]
    df.plot(x='x', y='y', title=sheet_name)

编辑:提问者报告说,已使用以下代码成功处理了相关的特定文件。

for i in range(3):
   df = pd.read_excel(excel_file, sheet_name=i)
   f = Figure(figsize=(3, 2), dpi=100)
   a = f.add_subplot(111)
   a.plot(df['x'], df['y'], 'ro')

关于python - 如何使用matplotlib为Excel工作簿中的不同工作表绘制不同的图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54709433/

相关文章:

excel - 将单元格范围转换为带回车的单个单元格

c# - 如何使用 EPPlus 将 excel 条形图上的数据标签更改为 inside base?

python - 两列上最近的匹配合并(pandas)

python - 基于groupby和pandas系列过滤数据框

Python pandas张量访问极慢

regex - 从一批正则表达式中获取第一个成功的匹配项

python - 使用 Python Bottle 生成项目不起作用

excel - 使用 VBA 宏修改电子表格

没有编码的 Python 字符串参数

python - 信息功能不返回西里尔字符