matplotlib

安装

创建虚拟环境,

pip3 install -i https://pypi.doubanio.com/simple/ matplotlib

1、初始用

关键词:plot、show

from matplotlib import pyplot as plt

# 数据在x轴的位置,是一个可迭代的对象
x = range(2, 26, 2)
# 数据在y轴的位置,是一个可迭代的对象
y = [6, 5, 8, 4, 1, 1, 6, 2, 8, 5, 8, 7]
# 在图中的则表示为(2,6),(4,5),(6,8)....(24,7)
# 传入x,y,绘制出图像
plt.plot(x, y)
# 显示出图像
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fMhTEhAa-1659800228729)(E:/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/matplotlib.assets/image-20220806170323271.png)]

2、设置图片大小、调整刻度

关键词:figure、xticks、yticks、savefig

from matplotlib import pyplot as plt

# 设置图片大小
# figure是图片图标的意思,这里指我们绘制的图
# dpi则是在屏幕上的分辨率
fig = plt.figure(figsize=(20, 8), dpi=80)

x = range(2, 26, 2)
y = [6, 5, 8, 4, 1, 1, 6, 2, 8, 5, 8, 7]

# 绘制图片
plt.plot(x, y)
# 设置刻度
plt.xticks(x)  # x Axis的刻度
# plt.xticks(x[::2])  # 当x轴比较稀疏时,可以设置步长进行显示(间隔取值)
plt.yticks(range(min(y), max(y)+1))  # y Axis的刻度
# 保存图片,在图片绘制之后才能保存,不然是空白
plt.savefig('./img/figure_size.png')
# 展示图片
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mYmUJCka-1659800228732)(E:/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/matplotlib.assets/image-20220806173403979.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UbGEFJdG-1659800228733)(E:/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/matplotlib.assets/image-20220806173413010.png)]

3、坐标轴显示字符串、改变文字角度

import random
from matplotlib import pyplot as plt

'''
    中文字体	    说明
    ‘SimHei’	中文黑体
    ‘Kaiti’	    中文楷体
    ‘LiSu’	    中文隶书
    ‘FangSong’	中文仿宋
    ‘YouYuan’	中文幼圆
    'STSong'	华文宋体
'''
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
# 设置图片大小
# figure是图片图标的意思,这里指我们绘制的图
# dpi则是在屏幕上的分辨率
fig = plt.figure(figsize=(16, 8), dpi=80)

x = range(0, 120)
y = [random.randint(20, 38) for i in range(120)]

# 绘制图片
plt.plot(x, y)
# 调整x轴刻度
_xticks_labelz = ['10点{}分'.format(i) for i in range(60)]
_xticks_labelz += ['11点{}分'.format(i) for i in range(60)]
# 去步长,数字和字符串的个数一一对应,数据的长度一样
plt.xticks(list(x)[::3], _xticks_labelz[::3], rotation=45)  # rotation设置旋转多少度

# 展示图片
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-okc5MJKT-1659800228740)(E:/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/matplotlib.assets/image-20220806211154992.png)]

中文字体说明
‘SimHei’中文黑体
‘Kaiti’中文楷体
‘LiSu’中文隶书
‘FangSong’中文仿宋
‘YouYuan’中文幼圆
STSong华文宋体

4、设置图形x、y、标题的信息

import random

from matplotlib import pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
# 设置图片大小
# figure是图片图标的意思,这里指我们绘制的图
# dpi则是在屏幕上的分辨率
fig = plt.figure(figsize=(14, 8), dpi=80)

x = range(0, 121)
y = [random.randint(20, 38) for i in range(121)]

# 绘制图片
plt.plot(x, y)
# 调整x轴刻度
_xticks_labelz = ['10点{}分'.format(i) for i in range(60)]
_xticks_labelz += ['11点{}分'.format(i) for i in range(61)]
# 去步长,数字和字符串的个数一一对应,数据的长度一样
plt.xticks(list(x)[::3], _xticks_labelz[::3], rotation=45)  # rotation设置旋转多少度
plt.xlabel('时间')  # 设置x轴名称
plt.ylabel('温度 单位(℃)')  # 设置y轴名称
plt.title('10点到12点气温变化图')  # 设置标题名称
# 展示图片
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QPjQRjAl-1659800228741)(E:/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/matplotlib.assets/image-20220806212821618.png)]

5、设置线型、颜色、网格、图例、透明度

import random

from matplotlib import pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']

x = range(11, 31)
y_1 = [random.randint(1, 10) for i in range(11, 31)]  # 自己的女朋友个数
y_2 = [random.randint(1, 10) for j in range(11, 31)]  # 同桌的女朋友个数

plt.figure(figsize=(12, 8), dpi=80)
plt.plot(x, y_1, label='自己', color='orange', linestyle=':', linewidth=5,alpha=0.8)  # 设置图例名、线条颜色、线型、宽度
plt.plot(x, y_2, label='同桌', color='#4B0082', linestyle='--')  # 设置图例名、十六进制颜色
_yticks_label = ['{}个'.format(i) for i in range(1, 11)]
_xticks_label = ['{}岁'.format(i) for i in x]
plt.xticks(list(x)[::1], _xticks_label[::1])  # 设置x轴显示字符串
plt.yticks(list(range(1, 11))[::1], _yticks_label[::1])  # 设置y轴显示字符串
# 显示网格
plt.grid(alpha=0.4, linestyle='-.')
# 添加图例名
plt.legend(loc=3)

plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qPuH2oo0-1659800228742)(E:/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/matplotlib.assets/image-20220806231327953.png)]

风格字符
- 实线
– 虚线
-. 点划线
: 点虚线,虚线
’ ’ 留空/空格,无线条

图例位置:

localcode
best0
upper right1
upper left2
lower left3
lower right4
right5
center left6
center right7
lower center8
upper center9
center10

小结一下:

  1. 绘制了折线图(plt.plot)

  2. 设置了图片的大小和分辨率(plt.figure)

  3. 实现了图片的保存(plt.savefig)

  4. 设置了xx轴上的刻度和字符串(xticks)

  5. 解决了刻度稀疏和密集的问题(xticks)

  6. 设置了标题,xx轴的lable(title,xlable,ylable)

  7. 设置了字体plt.rcParams[‘font.sans-serif’] = [‘SimHei’]

  8. 在一个图上绘制多个图形(plt多次plot即可)

  9. 为不同的图形添加图例

  10. 官方文档 官网图例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值