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

2024-06-20 1044阅读

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

【头歌-Python】可视化自学引导
(图片来源网络,侵删)

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

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

    可视化自学引导

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

      第1关:绘制折线图

      任务描述

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

      相关知识

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

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

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

      任务描述

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

      相关知识

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

      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()       # 显示绘制结果
      
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]