编程兴趣班第二课:用Jupyter Notebook制作数学折线图

举报
小队长 发表于 2025/06/21 17:09:36 2025/06/21
【摘要】 课程目标学习启动Jupyter Notebook理解Python基础变量和列表使用Matplotlib绘制简单折线图巩固Linux基本命令 课前准备首先让我们打开终端,复习几个Linux命令:# 1. 导航到你的工作目录(比如我之前创建的learn_python文件夹)cd ~/learn_python# 2. 启动Jupyter Notebookjupyter notebook解释这些命...

课程目标

  1. 学习启动Jupyter Notebook
  2. 理解Python基础变量和列表
  3. 使用Matplotlib绘制简单折线图
  4. 巩固Linux基本命令

课前准备

首先让我们打开终端,复习几个Linux命令:

# 1. 导航到你的工作目录(比如我之前创建的learn_python文件夹)
cd ~/learn_python

# 2. 启动Jupyter Notebook
jupyter notebook

解释这些命令:

  • cd = change directory(改变目录)
  • ~ = 代表用户主目录的快捷方式
  • jupyter notebook = 启动Jupyter Notebook服务

课程内容

第一部分:创建新Notebook

  1. 在浏览器打开的Jupyter界面点击"New" > “Python 3”
  2. 重命名Notebook为"math_line_plot"(点击顶部标题处)

第二部分:Python基础 - 变量和列表

在第一个单元格中输入以下代码并运行(Shift+Enter):

# 定义变量 - 存储数据的容器
x_values = [1, 2, 3, 4, 5]  # x轴数值
y_values = [1, 4, 9, 16, 25]  # y轴数值(x的平方)

# 打印变量查看内容
print("x值:", x_values)
print("y值:", y_values)

概念解释

  • 变量:存储数据的命名容器(如x_values)
  • 列表:用方括号[]表示的有序数据集合
  • #:注释符号,后面的文字不会被Python执行

第三部分:绘制折线图

在新单元格中输入并运行:

# 导入绘图库 - 这是Python扩展功能的方式
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['AR PL UKai CN']  # 中文字体
plt.rcParams['axes.unicode_minus'] = False

# 创建折线图
plt.plot(x_values, y_values, marker='o')  # marker='o'表示在每个数据点画圆圈

# 添加图表标题和坐标轴标签
plt.title("数字的平方关系")  # 图表标题
plt.xlabel("数字")          # x轴标签
plt.ylabel("平方值")        # y轴标签

# 显示图表
plt.show()

概念解释

  • import:导入Python库(工具箱)
  • plt.plot():绘制折线图的函数
  • plt.title()/plt.xlabel()/plt.ylabel():图表装饰函数
    image.png

如果出现中文无法正常显示,可以查询字体后配置

# 获取所有字体
fonts = fm.fontManager.ttflist

# 筛选中文字体(包含CJK或常见中文字体名称)
chinese_fonts = [f.name for f in fonts if any(keyword in f.name.lower() for keyword in ['cjk', 'chinese', 'hei', 'yuan', 'kai', 'song', 'ming'])]

print("可用的中文字体:", sorted(set(chinese_fonts)))
#输出如:可用的中文字体: ['AR PL UKai CN', 'AR PL UMing CN', 'Noto Sans CJK JP', 'Noto Serif CJK JP']

第四部分:自定义图表

让我们修改数据,制作一个更有趣的图表:

# 新数据:0到10的数字及其立方
x = list(range(11))       # 0到10的数字
y = [num**3 for num in x] # 每个数字的立方

# 绘制带样式的图表
plt.plot(x, y, 
         color='red',     # 线条颜色
         linestyle='--',   # 虚线样式
         marker='s',       # 方形标记
         markersize=8)     # 标记大小

# 添加网格和调整坐标轴
plt.grid(True)
plt.xlim(0, 10)
plt.ylim(0, 1000)

plt.title("数字的立方关系")
plt.xlabel("数字")
plt.ylabel("立方值")
plt.show()

新概念

  • range(11):生成0到10的数字序列
  • 列表推导式[num**3 for num in x]:高效创建列表的方法
  • 图表样式参数:color, linestyle, marker等

image.png

课后练习

  1. 尝试修改数据,绘制1-10的数字及其两倍值的折线图
  2. 改变图表颜色为绿色,标记为三角形(参数为’^’)
  3. 添加plt.savefig('my_plot.png')在show()前,保存图表到文件

课程总结

今天你学会了:

  • 使用Jupyter Notebook的基本流程
  • Python变量和列表的基本概念
  • 用matplotlib绘制和定制折线图
  • 几个实用的Linux命令
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。