matplotlib的常见使用

本文详细介绍了Python的可视化库Matplotlib的使用,包括设置绘图风格、创建图像坐标、调整坐标轴范围、添加标题和标签、设置图例、添加注释、隐藏边框、创建多个图像、支持中文显示及保存图像等操作。还提供了简单的直方图绘制代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Matplotlib基本框架

Matplotlib是一个python的可视化程序库,可生成直方图,条形图,散点图,折线图等。

import matplotlib
import matplotlib.pyplot as plt   #pyplot是最重要的子包

在这里插入图片描述

设置绘图风格

plt.style.use(‘classic’) # 设置图像的风格为经典风格
plt.style.available查看所有可用风格,例如有‘bmh’、‘dark_background’

创建图像和坐标

fig=plt.figure()#创建图像
ax=plt.axes()#创建坐标轴对象
fig,ax=plt.subplots()#同时创建出图像和坐标

设置坐标轴的上下限

ax.set_xlim(min,max)
ax.set_ylim(min,max)

设置图像标题

plt.title(“title_name”)
ax.set_title(“title_name”)

设置坐标轴标签

ax.set_xlabel(“label_name”)
ax.set_ylabel(“label_name”)

设置图例

plt.legend([“y=100x+10”,“y=2^x”],loc=‘upper left’)#在左上角显示图例
ax.legend([line1,line2,line3],[“label1”,“label2”,“label3”],loc=‘lower right’)
添加文字
ax.text(x,y,s) #在(x,y)坐标处添加文字串s

添加注释

ax.annotate(“annotation”,xy=(1,2),xycord=‘axes fraction’,xytext=(2,3),textcoord=‘axesfraction’,arrowprops=dict(arrowstyle="->"))
#(x,y)为箭头的位置,xycoords为箭头的坐标体系,textcoords为注释文字的坐标位置,xytext为注释文字的起始坐标

隐藏边框

ax.spines[“top”].set_visible(False) #隐藏上边框
#同理,隐藏下边框,左和右边框“bottom”,“left”,“日冠花t”

隐藏坐标轴

ax.set_xticks([])#隐藏x刻度和刻度值
ax.xaxis.set_major_formatter(plt.NullFormatter())#只需隐藏刻度值,同时保留刻度

设置坐标轴刻度和刻度标签

ax.set_xticks([1,2,3])
ax.set_xticklabels([“one”,“two”,“three”])

创建多个图像

ax1=fig.add_axes([left,bottom,width,height])

支持中文

matplotlib.rcParams[‘font.sans-serif’]=[‘SimHei’]#细黑体

保存图像

fig.savefig(‘file_name.png’)
#必须放在plt.show()之前
直方图
pyplot.bar(x,height,width=0.8,bottom=None,*,align=‘center’)

简单的直方图代码

import numpy as np
import matplotlib.pyplot as plt

plt.style.use("dark_background")
fig,ax=plt.subplots()
ax.set_title("square numbers")
x=np.array([1,2,3,4,5,6,7,8,9,10])
y=x*x*x
plt.bar(x,y)
plt.bar(x,y,color='r')
for a,b in zip(x,y):# 在直方图上显示数字,plt.text在对应位置添文字说明来生成相应的数字标签
    #  而for循环也保证了每一个柱子都有标签
    #  其中,a, b+0.2表示在每一柱子对应x值、y值上方0.2处标注文字说明,'%.0f' % b,代表标注的文字,即每个柱子对应的y值
    #  ha='center', va= 'bottom'代表horizontalalignment(水平对齐)、verticalalignment(垂直对齐)的方式,fontsize则是文字大小
    plt.text(a,b+0.2,'%d'%b,ha='center',va='bottom',fontsize=20)

plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值