matplotlib介绍&基本使用&坐标系显示调整

本文介绍了Matplotlib库的基本框架,包括后端层、美工层和脚本层,详细讲解了创建figure、绘制折线图、直方图、柱状图、散点图和饼图的步骤。还分享了如何调整坐标系显示,如添加标题、调整刻度和字体大小,以及添加注释和保存图形。此外,内容涵盖了数据可视化的重要概念和技巧,是Python数据可视化的实用指南。
摘要由CSDN通过智能技术生成

matplotlib介绍&基本使用&坐标系显示调整

一、框架结构:

1.后端层(Backend)
  • 实现了大量抽象的接口类,这些API用来在底层实现图形元素的一个个类
    • FigureCanvas对象实现了绘图区域这一概念
    • Renderer对象在FigureCanvas上绘图
2.美工层(Artist)
  • 图形中所有能看到的元素都属于Artist对象
    • Figure:指整个图形
    • Axes(坐标系)
    • Axis(坐标轴)
3.脚本层(Scripting)
  • pyplot模块就是我们调用matplotlib程序包的接口

二、基本使用流程:

1.创建一个figure
  • plt.figure(figsize=(20,8), dpi=80)

    • figsize是大小,dpi是精度
2.准备x,y坐标的数据
3.画图,显示
  • plt.plot(x,y, label=“xxx”)

    • 多次plot,可在同一个figure画多个折线图
  • plt.show()

三、常用API

1.入口API:matplotlib.pyplot
2.折线图
  • 特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)
  • plt.plot(x,y, color=‘r’, label=‘xxxx’,linestyle=’–’, linewidth=3,marker=‘o’,markerfacecolor=‘blue’,markersize=20)(红色的 虚线)
  • marker-显示点
3.直方图:
  • 特点:绘制,连续性的数据展示一组或者多组数据的分布状况(统计)

  • plt.hist(x, bins=None, normed=None, **kwargs)

    • bins:表示有多少个矩形框,density(旧库用normed):bool,optional,频率或者频数,默认频数,值1为频率
4.柱状图:
  • 特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)

  • plt.bar(x, width, align=‘center’, **kwargs)

    • plt.bar(x, y, width=0.5, color=[‘b’,‘r’,‘g’,‘y’,‘c’,‘m’,‘y’,‘k’,‘c’,‘g’,‘g’])
5.散点图:
  • 特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)

    • plt.scatter()
  • pandas绘制两两特征之间相关性

    • 两两关联散点图
    • frame = data[[‘open’,‘volume’, ‘ma20’, ‘p_change’, ‘turnover’]]
    • pd.plotting.scatter_matrix(frame, figsize=(20, 8))
6.饼图:
  • 常用于:分类的占比情况(不超过9个分类)

  • plt.pie(x, labels=,autopct=,colors)

    • x:数量,自动算百分比
    • labels:每部分名称
    • autopct:占比显示指定%1.2f%%
    • colors:每部分颜色

四、坐标系显示效果调整

1.增加标题、x轴y轴描述信息
  • plt.xlabel(“时间”)、plt.ylabel(“价格”)、plt.title(“xxxxxxx”)

    • 设置横纵坐标的名称以及对应字体格式
    • font2 = {‘family’ : ‘Times New Roman’,‘weight’ : ‘normal’,‘size’:20}

      • plt.xlabel(“时间”,font2)、plt.ylabel(“价格”,font2)
2.美化x,y的刻度值 plt.xticks(参数1,参数2)
  • 第一个参数必须是刻度数字类型,第二个是对应着第一个数字的中文描述

    增加以下两行代码

    # 构造中文列表的字符串
    x_ch = ["11点{}分".format(i) for i in x]
    y_ticks = range(40)
    # 修改x,y坐标的刻度
    plt.xticks(x[::5], x_ch[::5])
    plt.yticks(y_ticks[::5])
    
3.刻度字体大小13
  • plt.tick_params(labelsize=13) —刻度字体大小13
4.添加图形注释:
  • plt.legend(loc=‘best’) —“best”是最佳显示,还有其他选择
5.annotate或者text添加图的注释
  • plt.annotate( ‘这是一个拐点’, xy=(70, 1) , arrowprops=dict(arrowstyle=’->’), xytext=(50, 10))
    • xy=(60, 10) # 箭头指向位置
    • arrowprops=dict(arrowstyle=’->’) #自定义箭头样式
    • xytext=(30, 5)) # 文本位置
  • plt.text(30, 2, ‘这是一段文本’)
# 设置数字标签
x=['a','b','c','d']
y=[50,40,60,80]
plt.plot(x,y,marker='o')
for a,b in zip(x,y):
	plt.text(a,b+2,b,ha='center',va='bottom',fontsize=15)
plt.legend()  # 显示注释
plt.show()

在这里插入图片描述

6.图形本地保存:
  • plt.savefig(PATH)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值