pyplot(一)

pyplot模块

常用函数

每个函数都会在后面的例子中用到

函数 描述
plot() plot函数是用来绘制线状图的函数。plot函数中可以传入多组x,y轴的数据,并选择用什么样的图线绘图。
show() 用来展示图片
axis() 该函数用来设置x,y轴的刻度上下限
xlabels(),ylabels() 这两个函数通过传入字符串来给x,y轴添加描述信息
scatter() 用于绘制散点图
figure() 对图片的显示进行设置,如:大小,dpi
bar() 绘制条形图
xticks(),yticks() 调整x,y轴的刻度信息
subplot() 多图绘制,同时展示
函数 描述
subtitle() 多图绘制时总标题

绘制折线图

  • 绘制折线图需要用到plot()函数
  • 简单示例:
from matplotlib import pyplot as plt
import random

# 取100个1-100的随机数
x = [random.randint(1,100) for i in range(1,101)]

# 取100个1-100的随机数
y = [random.randint(1,100) for i in range(1,101)]

plt.plot(x,y)

plt.show()

pyplot(一)

  • 线的样式

    • 可以通过plot函数的第三个参数,对绘制的图形的线条样式进行设置。

    • 格式:’颜色+形状‘

    • 示例:

# 将线条颜色改为红色,线条样式改为'--'
plt.plot(x,y,'r--')

pyplot(一)

当然还有更多颜色,点的样式就不一一列举了:

颜色 描述
b blue
c cyan
g green
k black
m magenta
r red
w white
y yellow
  • plot可传入多组数据绘制多个折线
import numpy as np

t = np.arange(0., 5., 0.2)

plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()

pyplot(一)

绘制散点图

  • 绘制散点图需要用到scatter()函数

  • 简单示例:

from matplotlib import pyplot as plt
import random

# 取100个1-100的随机数
x = [random.randint(1,100) for i in range(1,101)]

# 取100个1-100的随机数
y = [random.randint(1,100) for i in range(1,101)]

plt.scatter(x,y)

plt.show()

pyplot(一)

  • 点的颜色和大小,都是可以调整的,例如:
# 绘制渐变效果的散点图
from matplotlib import pyplot as plt
import random

# 取100个1-100的随机数
x = [random.randint(1,100) for i in range(1,101)]

# 取100个1-100的随机数
y = [random.randint(1,100) for i in range(1,101)]

# c代表点的颜色,s代表点的大小
# c既可以传入一种颜色的参数,也可以列表形式传入一系列数字,实现渐变色,但列表
# 中的数字必须与点的个数保持一致
# s也是同样的道理
plt.scatter(x,y,c=x,s=x)

plt.show()

pyplot(一)

解决中文不兼容问题

在对x,y轴添加描述信息或设置中文刻度时,会遇到中文不兼容问题

# 设置中文字体
import matplotlib as mpl
# 将字体设置为简体黑字
font = {'family':'SimHei',
        'weight':'bold',
        }
mpl.rc('font', **font)

绘制条形图

  • 绘制条形图需要用到bar()函数
  • 示例:
from matplotlib import pyplot

movies = ['战狼2','哪吒之\n魔童降世','流浪地球','复联4','红海行动','美人鱼','唐人街探案2']
box_office = [56.39,49.34,46.18,42.05,36.22,33.9,33.71]

# 设置中文字体
import matplotlib as mpl
# 将字体设置为简体黑字
font = {'family':'SimHei'}
mpl.rc('font', **font)

# 设置图片大小
pyplot.figure(figsize=(8,6))

# 绘图
pyplot.bar(movies,box_office)

# 对x轴进行调整,rotation旋转度数
pyplot.xticks(rotation=45)

# 添加描述信息
pyplot.xlabel('电影名')
pyplot.ylabel('票房(单位:亿)')

# 展示图片
pyplot.show()

pyplot(一)

多图绘制

  • 需要用到subplot(nrows, ncols, index, **kwargs)函数

  • 前三个参数分别表示行、列,每一行图片顺序。也可以将三个参数合成一个数字写。

  • 示例:

from matplotlib import pyplot as plt
names = ['group_a', 'group_b', 'group_c']
values = [1, 10, 100]

plt.figure(figsize=(9, 3))

plt.subplot(131)
plt.bar(names, values)
plt.subplot(132)
plt.scatter(names, values)
plt.subplot(133)
plt.plot(names, values)
plt.suptitle('Categorical Plotting')
plt.show()

pyplot(一)

上一篇:matplotlib.pyplot.scatter散点图结构及用法||参数详解


下一篇:matplotlib.pyplot.gca().set_xlim(初始值,末值) 与 matplotlib.pyplot.xticks()的区别