matplotlib—高级篇

本文介绍如何使用Python的Matplotlib库绘制柱状图,包括创建画布、准备数据、绘制柱状图并添加数值标签等步骤。此外,还介绍了如何在一个画布中绘制多个图表,以及如何设置标题、坐标轴标签等。

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

一.深入了解柱状图

1.创建一个画板

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

plt.figure(1)

2.为画板划分出多个Axes

ax1=plt.subplot(111)
                     #plt.subplot(222)表示将画板分成2行2列,即四块,然后取第一块

3.数据准备

data=np.array([15,20,18,25]) #y轴数据
width=0.5 #柱状图的宽度
x_bar=np.arange(4) #x轴数据
rects=ax1.bar(x_bar,data,width,color="lightblue") #画柱状图

这里写图片描述
4.为柱状图添加高度值

for rec in rects:                                 #rec为每一跟条形图
    x=rec.get_x()                                 #获取rec所有x坐标的值
    height=rec.get_height()                       #获取rec的高度
    ax1.text(x+0.2,1.02*height,str(height)+'w')   #在rec上写入高度值

    '''
    ax1.text(x,y,'A') 在坐标为(x,y)处写入A
    '''

这里写图片描述
5.设置x,y轴的刻度

ax1.set_xticks(x_bar)   #设置x轴刻度值,x_bar为x轴数据,即0,1,2,3
ax1.set_xticklabels(("第一季度","第二季度","第三季度","第四季度"))

这里写图片描述
6.设置x,y轴的标签

ax1.set_xlabel("季度")
ax1.set_ylabel("销量(单位:万件)")

这里写图片描述
7.设置标题

ax1.set_title("2017年季度销售量统计")

这里写图片描述
8.是否显示网格

ax1.grid(True)

这里写图片描述
9.设置y轴范围

ax1.set_ylim(0,30)

这里写图片描述

二.subplot(),绘制多幅图形

1.创建第一个画板,并画图

plt.figure(figsize=(6,6),dpi=80)
plt.figure(1)                                   #创建第一个画板(figure)

ax1=plt.subplot(211)                            #将第一个画板划分成有2行1列组成的区块,并获取到第一块子区域
plt.scatter([1, 2, 3],[2,4,7],marker='o',s=200) #在第一个子区域画散点图

ax2=plt.subplot(212)                            #选中第二个子图=
plt.plot([2, 5, 6],[7,10,15])                   #画折线图

这里写图片描述
(2)创建第二个画板,并画图

plt.figure(2)              # 创建第二个画板

x=np.arange(4)
y=np.array([15,20,18,25])  # 创建数据

plt.bar(x,y)               # 在第二块画板上画柱状图

plt.title('第二个画板')     # 为第二块画板添加标题

这里写图片描述
(3)为第一个画板两个区域添加标题

#方法一:利用变量
ax1.set_title('第一个画板的第一个区域')
ax2.set_title('第一个画板的第二个区域')



# 方法二:(切换)
#从第二个画板切换到第一个画板的第一个区域
plt.figure(1)
ax1=plt.subplot(211)
# 为第一个画板的第一个区域添加标题
plt.title('第一个画板的第一个区域')

# 在切换到第一个画板第二个区域,并添加标题
plt.subplot(212)
plt.title('第一个画板的第二个区域')

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值