【头歌-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子库导入方法绘图方法写入文件显示绘制结果
matplotlib
的pyplot
子库导入方法
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() # 显示绘制结果
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。