matplotlib中关于画布的相关知识总结

本文详细介绍了在Python的Matplotlib库中如何创建和管理多个子图,包括figure()函数、subplot()、subplots()以及add_subplot()和add_axes()方法的使用。通过实例代码展示了如何自定义画布并绘制不同类型的图表,如折线图和柱状图,帮助读者更好地理解和应用这些功能。
摘要由CSDN通过智能技术生成

【前言】:
1、在上一篇文章中,我们讲述了如果画一些简单的图表,比如:柱状图、条形图、饼图等等。
2、这篇文章就来一些干货,总结一下关于画布的相关知识,以及如何创建多个子图。

fihure() 函数

在这里插入图片描述
在这里插入图片描述

生成一个画布--代码实现


import matplotlib.pyplot as plt
import  pandas as pd


Data_fram=pd.read_excel('E:\pythonProject\matplotlib各种图表\line_chart_bar.xlsx')
print(Data_fram.head())

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

# 生成一个画布
canvas=plt.figure()
# 生成一个两行两列的图,可以用逗号隔开,也可以写在一起。
#参数含义为:2行2列的第一个图,2行2列的第二个图,2行2列的第三个图,2行2列的第四个图
map1=canvas.add_subplot(2,2,1)
map2=canvas.add_subplot(222)
map3=canvas.add_subplot(223)
# 在map3 下面使用plt.plot() 就意味着该图会在map3中生成。
plt.plot(Data_fram['水果'],Data_fram['销售百分比'],color='red',marker='*',ms=10)
map4=canvas.add_subplot(224)
plt.bar(Data_fram['水果'],Data_fram['销售量'],color='orange')

plt.show()

效果展示

在这里插入图片描述

subplot创建单个子图

在这里插入图片描述

生成单个子图--代码实现


import matplotlib.pyplot as plt
import  pandas as pd


Data_fram=pd.read_excel('E:\pythonProject\matplotlib各种图表\line_chart_bar.xlsx')
print(Data_fram.head())

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

# 生成一个画布
canvas=plt.figure()
# subplot创建单个子图
plt.subplot(221)
plt.subplot(222)
plt.plot(Data_fram['水果'],Data_fram['销售百分比'],color='red',marker='*',ms=10)
plt.subplot(223)
plt.bar(Data_fram['水果'],Data_fram['销售量'],color='blue')
plt.show()

效果展示
在这里插入图片描述

subplots创建多个子图

与上面的subplots就多了一个s
生成单多个子图--代码实现


import matplotlib.pyplot as plt
import  pandas as pd


Data_fram=pd.read_excel('E:\pythonProject\matplotlib各种图表\line_chart_bar.xlsx')
print(Data_fram.head())

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

# subplots创建多个子图,生成一个画布,和图
canvas,map=plt.subplots(2,2)
map1=map[0,0]
map2=map[0,1]
map3=map[1,0]
map4=map[1,1]

# 在对应的区域开始画图
map3.plot(Data_fram['水果'],Data_fram['销售百分比'],color='red',marker='*',ms=10)
map4.bar(Data_fram['水果'],Data_fram['销售量'],color='blue')
plt.show()

效果展示

在这里插入图片描述

add_subplots与add_axes新增子图或区域

add_subplots

add_subplots--代码实现


import matplotlib.pyplot as plt
import  pandas as pd


Data_fram=pd.read_excel('E:\pythonProject\matplotlib各种图表\line_chart_bar.xlsx')
print(Data_fram.head())

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

# (1) add_subplot新增子图
canvas=plt.figure()
map1=canvas.add_subplot(221)
map1.plot(Data_fram['水果'],Data_fram['销售百分比'],color='red',marker='*',ms=10)
map4=canvas.add_subplot(224)
map4.bar(Data_fram['水果'],Data_fram['销售量'],color='blue')
plt.show()

效果展示

在这里插入图片描述

add_axes

add_axes--代码实现


import matplotlib.pyplot as plt
import  pandas as pd

Data_fram=pd.read_excel('E:\pythonProject\matplotlib各种图表\line_chart_bar.xlsx')
print(Data_fram.head())

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

# (1) add_axes新增区域
canvasss=plt.figure()
# 自定义距离
left,bottom,width,height = 0.1,0.1,0.8,0.8
mapp1=canvasss.add_axes([left,bottom,width,height ])
mapp1.plot(Data_fram['水果'],Data_fram['销售百分比'],color='red',marker='*',ms=10)
mapp1.set_title("销售量")

# 自定义距离
left,bottom,width,height = 0.65,0.6,0.25,0.25
mapp2=canvasss.add_axes([left,bottom,width,height ])
mapp2.bar(Data_fram['水果'],Data_fram['销售量'],color='blue')
mapp2.set_title("销售百分比")
plt.show()

效果展示
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值