matplotlib—高级篇

一.深入了解柱状图

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") #画柱状图

matplotlib—高级篇_第1张图片
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
    '''

matplotlib—高级篇_第2张图片
5.设置x,y轴的刻度

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

matplotlib—高级篇_第3张图片
6.设置x,y轴的标签

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

matplotlib—高级篇_第4张图片
7.设置标题

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

matplotlib—高级篇_第5张图片
8.是否显示网格

ax1.grid(True)

matplotlib—高级篇_第6张图片
9.设置y轴范围

ax1.set_ylim(0,30)

matplotlib—高级篇_第7张图片

二.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])                   #画折线图

matplotlib—高级篇_第8张图片
(2)创建第二个画板,并画图

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

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

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

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

matplotlib—高级篇_第9张图片
(3)为第一个画板两个区域添加标题

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



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

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

matplotlib—高级篇_第10张图片

你可能感兴趣的:(matplotlib—高级篇)