【头歌-Python】可视化自学引导

谛凌 2024-06-29 08:35:03 阅读 78

禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/139259094

参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301

如果代码存在问题,麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~

可视化自学引导

第1关:绘制折线图第2关:绘制正弦曲线第3关:绘制指定线型、颜色和标记的正弦曲线第4关: 定义绘制正余弦函数曲线的函数第5关:绘制坐标轴并设置范围

第1关:绘制折线图

任务描述

本关任务:编写一个能绘制折线图的小程序。

相关知识

为了完成本关任务,你需要掌握:

matplotlib的pyplot子库导入方法绘图方法写入文件显示绘制结果

matplotlibpyplot子库导入方法

matplotlib库中有多个绘图子库,绘制线性图一般应用pyplot子库提供的方法,习惯上导入后应用别名plt。

import matplotlib.pyplot as plt

绘图方法

plt.plot():用于绘制图形

plot([x], y, [fmt], *, data=None, **kwargs)

plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

# x 可以缺省

# y 为必备参数,类似数组的数据结构,如列表等

# fmt表示可将颜色、线型与标记写成一个字符串做参数,如'r-o'表示:红色实线圆点标记

写入文件

plt.savefig('路径/文件名.扩展名'):用于将绘制的结果写入指定路径下的图片文件中,此语句放在show()语句前面,放在show()语句后面时,因缓冲区已经清空,会得到空文件。

显示绘制结果

plt.show():用于显示绘制的结果,无参数,执行此语句后一般会清空缓冲区,所以一般放在程序末尾。

有x,y两个列表,数据分别为[1, 2, 3, 4, 5]和[1, 4, 9, 16, 25]。以x,y为参数,根据这两组数据绘制一条折线。

编程要求

根据提示,在右侧编辑器补充代码,按题目要求绘制折线,线型粗细颜色均用缺省值,绘制结果写入到文件中(写入文件的语句模板代码已经给好,不要修改)。

测试说明

平台会对你编写的代码进行测试和评测

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/139259094

# 参考教程:B站视频讲解 https://space.bilibili.com/3546616042621301

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y = [1, 4, 9, 16, 25]

plt.plot(x,y)

plt.show()

# 保存成图片文件

plt.savefig("plot/src/step1/output/temp.png")

第2关:绘制正弦曲线

任务描述

本关任务:编写一个能绘制正弦曲线的小程序。

相关知识

为了完成本关任务,你需要掌握:

numpy导入方法创建等差数组

numpy导入方法

numpy库导入后习惯上应用别名np

import numpy as np

创建等差数组

np.linspace([x,] y [,i]):创建从x到y,i个数的等差数组

import numpy as np

x = np.linspace(1, 10, 10)

print(x) # [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]

i 缺省时产生50个浮点数

import numpy as np

x = np.linspace(0, 2*np.pi)

print(x) # [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]

输出:

[0. 0.12822827 0.25645654 0.38468481 0.51291309 0.64114136 0.76936963 0.8975979 1.02582617 1.15405444 1.28228272 1.41051099 1.53873926 1.66696753 1.7951958 1.92342407 2.05165235 2.17988062 2.30810889 2.43633716 2.56456543 2.6927937 2.82102197 2.94925025 3.07747852 3.20570679 3.33393506 3.46216333 3.5903916 3.71861988 3.84684815 3.97507642 4.10330469 4.23153296 4.35976123 4.48798951 4.61621778 4.74444605 4.87267432 5.00090259 5.12913086 5.25735913 5.38558741 5.51381568 5.64204395 5.77027222 5.89850049 6.02672876 6.15495704 6.28318531]

numpy库中的方法产生[0,2π]之间的50个点,再用numpy中的正弦函数获取对应点的正弦值的数组,根据这两组数据绘制正弦曲线。

编程要求

根据提示,在右侧编辑器补充代码,按题目要求绘制正弦曲线,线型粗细颜色均用缺省值,绘制结果写入到文件中(写入文件的语句模板代码已经给好,不要修改)。

测试说明

平台会对你编写的代码进行测试和评测

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/139259094

# 参考教程:B站视频讲解 https://space.bilibili.com/3546616042621301

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0, 2*np.pi,50)

sinx = np.sin(x)

plt.plot(x,sinx)

plt.show()

# 保存成图片文件

plt.savefig("plot/src/step2/output/temp.png")

第3关:绘制指定线型、颜色和标记的正弦曲线

任务描述

本关任务:编写一个能绘制指定线型、颜色和标记的正弦曲线的小程序。

相关知识

为了完成本关任务,你需要掌握:

线条颜色线条标记线条风格fmt

线条颜色

color:参数值设计颜色

plt.plot(x, y, 'g') # 'g'等价于color='green'l

plt.plot(x, y, color='green')

线条风格

linestyle:参数设定线型

plt.plot(x, y, '--') # 'g'等价于color='green'l

plt.plot(x, y, linestyle='--')

plt.plot(x, y, linestyle='dashed')

线条标记

marker:参数设定标记符

plt.plot(x, y, 'o-') # marker单用时无线,需指定线型

plt.plot(x, y, marker='o')

fmt

fmt:表示线条颜色、标记和线型的格式的字符串类型可选参数

fmt = '[color][marker][line]'

例如’go--'表示颜色为“green”、标记为“o”(圆点)、线型为虚线

等价于“color= 'green', marker='*', linestyle= '--'

plt.plot(x, y, 'go--')

plt.plot(x, y, color= 'green', marker='*', linestyle= '--')

numpy库中的方法产生[0,2π]之间的50个点,再用numpy中的正弦函数获取对应点的正弦值的数组,根据这两组数据绘制正弦曲线。

编程要求

根据提示,在右侧编辑器补充代码,按题目要求绘制正弦曲线,线型为破折线、颜色为红色、标记为圆,其他用缺省值。绘制结果写入到文件中(写入文件的语句模板代码已经给好,不要修改)。

测试说明

平台会对你编写的代码进行测试和评测

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/139259094

# 参考教程:B站视频讲解 https://space.bilibili.com/3546616042621301

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0, 2*np.pi,50)

sinx = np.sin(x)

plt.plot(x,sinx,color= 'red', marker='o', linestyle= '--')

plt.show()

# 保存成图片文件

plt.savefig("plot/src/step3/output/temp.png")

第4关: 定义绘制正余弦函数曲线的函数

任务描述

本关任务:编写一个能绘制指定线型、颜色和标记的正弦曲线的小程序。

相关知识

为了完成本关任务,你需要掌握:

线条宽度定义绘制函数

线条宽度

linewidth:参数值设计线条宽度,浮点数

plt.plot(x, y, 'g') # 'g'等价于color='green'l

plt.plot(x, y, linewidth=2.5)

定义绘制函数

将绘制语句封装在一个函数里,方便扩展程序功能。

利用这个方法可以将复杂问题分解成几个简单问题分别用不同函数实现。

从本关开始,后面每一关增加的功能都用单独的函数实现。

numpy库中的方法产生[0,2π]之间的50个点,再用numpy中的正余弦函数获取对应点的正余弦值的数组,根据这三组数据绘制正余弦曲线。

编程要求

根据提示,在右侧编辑器补充代码,补充题目定义的绘制正弦曲线的函数:

绘制正弦曲线线型为破折线"--“、颜色为红色、标记为圆"o”,线宽度3.5

绘制余弦曲线,线型为点划线"-."、颜色为蓝色、标记为正三角形“^”,其他用缺省值。

绘制结果写入到文件中(写入文件的语句模板代码已经给好,不要修改)。

测试说明

平台会对你编写的代码进行测试和评测

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/139259094

# 参考教程:B站视频讲解 https://space.bilibili.com/3546616042621301

import matplotlib.pyplot as plt # 导入pyplot子库命名为plt

import numpy as np # 导入numpy库命名为np

def plot_circular():

"""绘制正弦曲线,线型为破折线"--"、颜色为红色、标记为圆"o",线宽度为3.5;

绘制余弦曲线,线型为点划线"-."、颜色为蓝色、标记为正三角形“^”,其他用缺省值

无返回值

"""

# 补充你的代码完成绘制

x = np.linspace(0, 2*np.pi,50)

sinx = np.sin(x)

cosx = np.cos(x)

plt.plot(x,sinx,color= 'red', marker='o',linewidth=3.5,linestyle= '--')

plt.plot(x,cosx,color= 'blue', marker='^', linestyle= '-.')

plt.show()

if __name__ == '__main__':

plot_circular() # 调用自定义函数正余弦曲线

plt.savefig("plot/src/step4/output/temp.png")

plt.show() # 显示绘制结果

第5关:绘制坐标轴并设置范围

任务描述

本关任务:编写一个能绘制指定线型、颜色和标记的正弦曲线的小程序。

相关知识

为了完成本关任务,你需要掌握:

绘制直线限定取值范围

绘制直线

函数 描述
axhline(x=0, ymin=0, ymax=1) 绘制水平线,y取值从0到1为整个区间。
hlines() 绘制水平线
axvline(x=0, ymin=0, ymax=1) 绘制垂直线,y取值从0到1为整个区间。
vlines() 绘制垂直线

plt.axhline(0, linestyle='--', linewidth=1) # 绘制水平线x轴,0可省

plt.axvline(0, linestyle='--', linewidth=1) # 绘制垂直线y轴,0可省

限定取值范围

函数 描述
xlim(xmin,xmax) 设置当前x轴取值范围
ylim(ymin,ymax) 设置当前y轴取值范围

plt.ylim(-1.1, 1.1) # 设置纵轴的上下限

plt.xlim(-1, 6.5) # 设置横轴的上下限

numpy库中的方法产生[0,2π]之间的50个点,再用numpy中的正余弦函数获取对应点的正余弦值的数组,根据这三组数据绘制正余弦曲线。

编程要求

根据提示,在右侧编辑器补充代码,补充题目定义的绘制正弦曲线的函数:

绘制正弦曲线线型为破折线"--“、颜色为红色、标记为圆"o”,线宽度3.5

绘制余弦曲线,线型为点划线"-."、颜色为蓝色、标记为正三角形“^”,其他用缺省值。

绘制结果写入到文件中(写入文件的语句模板代码已经给好,不要修改)。

本关新增要求:

定义一个函数draw_lim(),完成以下功能:

绘制线型为破折线的横纵坐标轴,黑色、宽度为1设置纵轴的取值范围为[-1.2,1.2]设置横轴取值范围[-0.5,7]

测试说明

平台会对你编写的代码进行测试和评测

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/139259094

# 参考教程:B站视频讲解 https://space.bilibili.com/3546616042621301

import matplotlib.pyplot as plt # 导入pyplot子库命名为plt

import numpy as np # 导入numpy库命名为np

def plot_circular():

"""绘制正弦曲线,线型为破折线"--"、颜色为红色、标记为圆"o",线宽度为3.5;

绘制余弦曲线,线型为点划线"-."、颜色为蓝色、标记为正三角形“^”,其他用缺省值

无返回值

"""

# 补充你的代码完成绘制

x = np.linspace(0, 2*np.pi,50)

sinx = np.sin(x)

cosx = np.cos(x)

plt.plot(x,sinx,color= 'red', marker='o',linewidth=3.5,linestyle= '--')

plt.plot(x,cosx,color= 'blue', marker='^', linestyle= '-.')

def draw_lim():

"""绘制线型为破折线的横纵坐标轴,横轴取值范围[-0.5, 7],纵轴范围[-1.2, 1.2]

函数无参数,无返回值

"""

plt.axhline(0, color= 'black',linestyle='--', linewidth=1) # 绘制水平线x轴,0可省

plt.axvline(0, color= 'black',linestyle='--', linewidth=1) # 绘制垂直线y轴,0可省

plt.ylim(-1.2, 1.2) # 设置纵轴的上下限

plt.xlim(-0.5, 7)

if __name__ == '__main__':

plot_circular() # 调用自定义函数正余弦曲线

draw_lim()

plt.savefig("plot/src/step5/output/temp.png")

plt.show() # 显示绘制结果



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。