数据科学库HM-用matplotlib绘制折线图示例

绘图的主线逻辑

为便于理解,首先略去相关周边设置,简单将作图过程在逻辑上分为以下几部分:

1. 输入x、y轴变量为两个列表

x = [...]
y = [...]

2. x轴变量要对应到x轴刻度(如果刻度用文字表示的话)

plt.xticks(x, xticks) 
# x为自变量集合,xticks为x对应刻度的集合

3. 用pyplot.plot将x轴和y轴变量联系起来。这一步在两个变量间建立联系,同时按照相关设置画图。

plt.plot(x, y)

相关周边设置(待补充)

1. 图像大小、分辨率等,用于输出

# 定义图片大小、分辨率
fig = plt.figure(figsize=None, dpi=None)

# 保存图片
plt.savefig("输出路径")

# 在程序中显示图片
plt.show()

2. 中文字体设置

#导入font_manager模块
from matplotlib import font_manager

# 导入并定义字体
Myfont01 = font_manager.FontProperties(fname="C:\Windows\Fonts\simsun.ttc")

# 在程序中调用字体
font_properties=...

3. 设置y轴的范围

# 设置y轴范围
plt.ylim(0, 100)

4. 设置x、y轴名称、图片标题等

#设置x、y轴标签
plt.xlabel("", font_properties=...)
plt.ylabel("", font_properties=...)

# 设置图片标题
plt.title("", font_properties=...)

实例:绘制上学期间各年级期末平均分

# -*- coding: utf-8 -*-
# 导入pyplot
from matplotlib import pyplot as plt
# 导入font_manager
from matplotlib import font_manager
# 导入随机数模块
import random

#设置图像大小
fig = plt.figure(figsize=(20, 12), dpi=80)
#使用font_manager设置一个待调用的字体
myfont01 = font_manager.FontProperties(fname="C:\Windows\Fonts\simsun.ttc")
#设置x轴变量,注意变量为序列
age = [x+8 for x in range(1, 17)]
#设置y轴变量,注意变量为序列
score = [random.uniform(60, 100) for x in range(16)]

#设置x轴的刻度
grade = ["小学{0}年级".format(x) for x in range(1, 7)]
grade += ["初中{0}年级".format(x-6) for x in range(7, 10)]
grade += ["高中{0}年级".format(x-9) for x in range(10, 13)]
grade += ["大学{0}年级".format(x-12) for x in range(13, 17)]
# 将x轴的变量和标签对应起来
plt.xticks(age, grade, font_properties=myfont01, rotation=45)
#设置x、y轴标签
plt.xlabel("年级", font_properties=myfont01)
plt.ylabel("期末平均分", font_properties=myfont01)
# 设置y轴范围
plt.ylim(0, 100)
# 设置图片标题
plt.title("上学期间每一年的成绩", font_properties=myfont01)
# 将x轴、y轴变量对应起来,并画图
plt.plot(age, score)
# 按照fig的设置输出图片
plt.savefig("./grade-score.png")
# 显示图片
plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值