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

禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/139259094
参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301

第1关:绘制折线图

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

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

  1. matplotlib的pyplot子库导入方法
  2. 绘图方法
  3. 写入文件
  4. 显示绘制结果

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关:绘制正弦曲线

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

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

  1. numpy导入方法
  2. 创建等差数组

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关:绘制指定线型、颜色和标记的正弦曲线

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

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

  1. 线条颜色
  2. 线条标记
  3. 线条风格
  4. 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关: 定义绘制正余弦函数曲线的函数

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

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

  1. 线条宽度
  2. 定义绘制函数

线条宽度
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关:绘制坐标轴并设置范围

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

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

  1. 绘制直线
  2. 限定取值范围

绘制直线

函数描述
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,1.2]
  3. 设置横轴取值范围[-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()       # 显示绘制结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谛凌

本人水平有限,感谢您支持与指正

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值