matplotlib调用excel绘图

1.掌握特征数据类型的应用; 2.掌握文件的应用; 3.掌握使用matplotlib绘制图形;4. 具备解决实际生活或专业问题能力。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7760261
  • 这篇博客也不错, 你可以看下读取excel文件并使用matplotlib绘图(含柱状图、柱状图加数值的显示和直方图)
  • 除此之外, 这篇博客: python使用matplotlib可视化折线图、在可视化图像中同时绘制多条折线图中的  #python使用matplotlib可视化折线图、在可视化图像中同时绘制多条折线图 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    import matplotlib.pyplot as plt  
    import numpy as np
    
    a=np.random.random((9,3))*2
    y1=a[0:,1]
    y2=a[0:,2]
    x=np.arange(1,10)
    ax = plt.subplot(111)
    width=10
    hight=3
    ax.axes.set_xlim(-0.5,width+0.2)
    ax.axes.set_ylim(-0.5,hight+0.2)
    plotdict = { 'dx': x, 'dy': y1 }
    ax.plot('dx','dy','bD-',data=plotdict)
    ax.plot(x,y2,'r^-')
    plt.show()

    参考:python

    参考:matplotlib

  • 您还可以看一下 白勇老师的玩转Matplotlib数据绘图库课程中的 绘制混淆矩阵小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    对于在使用matplotlib时调用Excel数据进行绘图的方法,可以采取以下步骤:

    1. 导入所需库及模块:
    import pandas as pd
    import matplotlib.pyplot as plt
    
    1. 读取Excel数据:
    data = pd.read_excel('文件路径/文件名.xlsx', sheet_name='工作表名')
    

    其中,文件路径/文件名.xlsx为Excel文件所在路径及文件名,工作表名为需要读取的工作表名称。

    1. 对数据进行预处理:

    处理方式视具体需求而定,例如:

    • 选择需要的数据列:
    data = data[['列名1', '列名2', '列名3']]
    

    其中,列名1列名2列名3为需要选择的列名。

    • 对数据进行筛选和排序:
    data = data[data['列名1'] > 数值]
    data = data.sort_values(by=['列名2'], ascending=False)
    

    其中,列名1为需要筛选的列名,数值为筛选条件,列名2为需要根据其值进行排序的列名,ascending=False表示降序排列。

    1. 绘制图表:
    # 折线图
    plt.plot(data['列名1'], data['列名2'], label='数据1', marker='o')
    plt.plot(data['列名1'], data['列名3'], label='数据2', marker='*')
    plt.xlabel('X轴标签')
    plt.ylabel('Y轴标签')
    plt.title('标题')
    plt.legend(loc='upper left')
    plt.show()
    
    # 柱状图
    plt.bar(data['列名1'], data['列名2'], width=0.3, color='r', label='数据1')
    plt.bar(data['列名1']+0.3, data['列名3'], width=0.3, color='b', label='数据2')
    plt.xlabel('X轴标签')
    plt.ylabel('Y轴标签')
    plt.title('标题')
    plt.legend(loc='upper left')
    plt.show()
    
    # 散点图
    plt.scatter(data['列名1'], data['列名2'], s=50, c='r', alpha=0.5, label='数据1')
    plt.scatter(data['列名1'], data['列名3'], s=50, c='b', alpha=0.5, label='数据2')
    plt.xlabel('X轴标签')
    plt.ylabel('Y轴标签')
    plt.title('标题')
    plt.legend(loc='upper left')
    plt.show()
    
    # 箱线图
    plt.boxplot([data['列名2'], data['列名3']], labels=['数据1', '数据2'])
    plt.title('标题')
    plt.show()
    

    其中,plot函数绘制折线图,bar函数绘制柱状图,scatter函数绘制散点图,boxplot函数绘制箱线图。

    1. 添加其他装饰:

    例如:

    • 添加网格线:
    plt.grid(axis='y', linestyle='--')
    
    • 保存图表:
    plt.savefig('文件路径/文件名.png')
    

    其中,文件路径/文件名.png为保存图表的路径及文件名。

    1. 完整代码示例:
    import pandas as pd
    import matplotlib.pyplot as plt
    
    # 读取Excel数据
    data = pd.read_excel('文件路径/文件名.xlsx', sheet_name='工作表名')
    
    # 对数据进行预处理
    data = data[['列名1', '列名2', '列名3']]
    data = data[data['列名1'] > 数值]
    data = data.sort_values(by=['列名2'], ascending=False)
    
    # 绘制图表
    plt.plot(data['列名1'], data['列名2'], label='数据1', marker='o')
    plt.plot(data['列名1'], data['列名3'], label='数据2', marker='*')
    plt.xlabel('X轴标签')
    plt.ylabel('Y轴标签')
    plt.title('标题')
    plt.legend(loc='upper left')
    plt.grid(axis='y', linestyle='--')
    plt.savefig('文件路径/文件名.png')
    plt.show()
    

    注意,这里的示例代码仅供参考,实际操作中需要根据具体情况进行调整和修改。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^