python 处理Excel表格绘图完整版,包含热力图,QQ图等

为了方便调用, 把每一种绘制的方法用函数封装起来



"""
    plt.figure(num=1,figsize=(12,8),alpha=0~1) # num是第几张图, figsize定义尺寸,alpha透明度
    plt.add_subplot(1,1,1) # add_subplot(行,列,第几个)
    plt.plot(x,y,color='red',linestyle='',linewidth='',marker='',label='')
    plt.xlabel()
    plt.ylabel("",labelpad=10) # 设置坐标轴的标题; labelpad设置具体的距离/不常用
    
    # 设置坐标的刻度(标签)
    plt.xticks() # xticks(ticks, labels,rotation=45/90) ticks表示刻度值,labels表示该刻度值对应的标签;标签旋转角度
    plt.yticks()
    
    # 设置坐标轴范围; 不常用,系统默认设置了合理的范围
    plt.xlim(0,100)
    plt.ylim(0,1000)
    
    plt.grid(b=True,axis='x/y') # 打开x/y轴的网格, 不设置则默认x,y都打开
    plt.legend() # 打开plot()中设置的label(图例), 默认最佳位置
    plt.title() # 设置标题
    
    # 设置数据标签 text(x,y,str,fontsize) ; x,y是位置, str是显示内容, fontsize是字体大小
    plt.text()


"""


# 1.绘制折线图
def plot_fig():
    """绘制折线图: 适用于 两变量都是连续变量 ; 需要解决的问题就是排序问题"""
    import os
    import matplotlib
    import matplotlib.pyplot as plt
    import pandas as pd

    os.chdir(r'D:\pycharm程序文件\练习1')
    data = pd.read_csv('creditcard_exp.csv', skipinitialspace=True)  # skipinitialspace=True 用于方差分析

    matplotlib.rcParams['axes.unicode_minus'] = False  # 解决保存图像时负号'-'显示为方块的问题
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体

    # 取出两列连续变量画图avg_exp ~ Income
    data_two = data[['Income','avg_exp']].copy()

    # 其中Income作为自变量, 所以将data_two按Income这一列从小到大排序
    new_data_two = data_two.sort_values(by=['Income'],ascending=True)

    # 设置x,y轴
    x = new_data_two['Income']
    y = new_data_two['avg_exp']

    # 绘折线图
    plt.plot(x,y,color='red',linestyle='solid')
    plt.xlabel("年收入/万元")
    plt.ylabel("年信用卡消费/元")
    plt.show()



# 绘制柱状图

def bar_fig():
    """ 柱状图常用于单分类变量,比较其数量"""
    import os
    import matplotlib
    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np

    matplotlib.rcParams['axes.unicode_minus'] = False  # 解决保存图像时负号'-'显示为方块的问题
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体

    os.chdir(r'D:\pycharm程序文件\练习1')
    data = pd.read_excel('data.xlsx')

    # 取出一分类变量; 是否续保 这一列
    data1 = d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值