• 数据分析---matplotlib2


    绘制网格

    在这里插入图片描述

    x=np.linspace(-np.pi,np.pi,256,endpoint=True)
    c,s=np.cos(x),np.sin(x)
    plt.plot(x,c)
    plt.plot(x,s)
    plt.grid(True,linestyle="-",color="gray",linewidth="0.5",axis='both')
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    plt.gca()对坐标轴的操作

    在这里插入图片描述

    x=np.arange(-50,51)
    y=x**2
    #获取当前坐标轴
    ac=plt.gca()
    #通过坐标轴spines,确定top,bottom,left,right(分别表示上下左右)
    
    #不需要右侧和上侧线条,可以设置其他颜色
    ax.spines['right'].set_color("none")
    ax.spines['top'].set_color("none")
    
    plt.plot(x,y)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    #移动下轴到指定位置
    #在这里,position位置参数有3种,data,outward(向外-可自行尝试)
    #axes:0.0-1.0之间的值,整个轴上的比例
    ax.spines['left'].set_position(('axes',0.5))
    #移动下轴到指定位置
    #'data'表示数值挪动。其后数字代表挪动到y轴的刻度值
    ax.spines['bottom'].set_position(('data',0.0)
    plt.plot(x,y)
    plt.grid(True,linestyle="-",color="gray",linewidth="0.5",axis='both')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    线条设置

    • 线条样式
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    x=np.arange(0,100,10)
    y=x**2
    ###linewidth 设置线条粗细
       label  设置线条标签
       color   设置线条颜色
       linestyle 设置线条形状
       marker 设置线条样点标记
    ###
    plt.plot(x,y,linewidth='1',label="test",color="r",linestyle="——",marker="H")
    plt.legend(loc='upper left')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    创建图形对象

    在这里插入图片描述

    from matplotlib import pyplot as plt
    #创建图形对象
    fig=plt.figure()
    #之前通过配置更改图形的分辨率和宽高,如今可以再创建图像对象
    fig=plt.figure('f1',figsize=(6,4),dpi=30)
    plt.plot()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    fig=plt.figure('f1',figsize=(4,2),dpi=100)
    plt.plot()
    
    • 1
    • 2

    在这里插入图片描述

    x=np.arange(0,50)
    y=x**2
    #创建图形对象,图形对象的分辨率为100,背景颜色为灰色
    fig=plt.figure('f1',figsize=(4,2),dpi=100,facecolor='gray')
    plt.plot(x,y)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    基本柱状图

    在这里插入图片描述

    import matplotlib.pyplot as plt
    #x轴数量
    x=range(5)
    #y轴数据
    data=[5,10,15,25,10]
    
    #设置图形标题
    plt.title("基本柱状图")
    #绘制网格
    plt.grid(ls='-',alpha=0.5)
    #bar绘制图像,x表示x坐标,data表示柱状图的高度
    plt.bar(x,data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    • bottom参数

    柱状图的起始位置,也就是y轴的起始坐标,默认值为None

    plt.bar(x,data,bottom=[10,20,5,0,10])
    
    • 1

    在这里插入图片描述

    • 柱状图颜色
    plt.bar(x,data,color="green")
    
    • 1

    在这里插入图片描述

    • 描边

    edgecolor或ec
    linestyle或ls
    linewidth或lw

    data=[5,20,15,25,10]
    plt.title("设置边缘线条样式")
    plt.bar(range(len(data)),data,ec='r',ls='--',lw=2)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    饼状图

    在这里插入图片描述

    plt.rcParams['font.sans-serif']=["SimHei"]
    #定义饼的标签
    labels=['娱乐','育儿','饮食','房贷','交通','其他']
    #每个标签所占数量
    x=[200,500,1200,7000,200,900]
    plt.title("饼图示例-8月份家庭支出")
    #%.2f%%显示百分比保留2为小数
    plt.pie(x,labels=labels,autopct='%.2f%%')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    • 饼状图的分离
      explode:指定饼图某些部分突出显示
    plt.rcParams['font.sans-serif']=["SimHei"]
    #定义饼的标签
    labels=['娱乐','育儿','饮食','房贷','交通','其他']
    #每个标签所占数量
    x=[200,500,1200,7000,200,900]
    #饼图分离
    explode=(0.03,0.05,0.06,0.04,0.08,0.1)
    plt.title("饼图示例-8月份家庭支出")
    #设置阴影效果
    plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    • 设置饼状图百分比和文本距离中心位置

    pctdistance:设置百分比标签与圆心的距离
    labeldistance:设置各扇形标签(图例)与圆心的距离

    plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode,labeldistance=1.3,pctdistance=1.2)
    
    • 1

    在这里插入图片描述

    • 设置x,y的刻度一样,使其饼图为正圆

    plt.axis(“equal”)

    在这里插入图片描述

  • 相关阅读:
    [蓝桥杯2020初赛] 门牌制作与既约分数与蛇形填数
    spark查看日志
    vue单页面应用?
    嵌入式C语言中整形溢出问题分析
    netstat-网络性能分析常用命令
    python二级题库(百分之九十原题) 刷题软件推荐 第六套
    java-php-python-ssm计算机类专业考研交流学习平台计算机毕业设计
    解决Spring Cloud整合Nacos与Gateway的探险之旅
    ESP32设备通信-两个ESP32设备之间HTTP通信
    mysql索引失效的几种情况
  • 原文地址:https://blog.csdn.net/weixin_66610130/article/details/126917708