Files
educoder-ans/3.4.3.py
T
2026-10-09 14:11:54 +08:00

103 lines
3.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
任务描述
相关知识
数组
numpy库定义的常用的数组创建函数和三角函数
matplotlib.pyplot子库
编程要求
测试说明
任务描述
本关任务:利用numpy库组织和运算数据,再利用matplotlib库快速地将计算结果以散点图的形式展现出来。
相关知识
为了完成本关任务,请认真阅读以下相关知识。
numpy库是科学计算包,能用于处理含有同种元素的多维数组运算。它处理的最基础数据类型是由同种元素构成的多维数组。至今,numpy已成为科学计算事实上的标准库。
数组
数组是一种由同种类型的元素构成的有序的集合,其中的元素类可以用整数索引,可以随时添加和删除,是最常用的数据类型。
一维数组由对等的有序数据构成,是线性结构,主要用Python
二维数组由多个一维数组构成,可以看成一维数组的组合形式,可以采用二维列表来表示。
示例如下:
array1=[1,5,7,9] #一维数组可以采用一个列表变量表示
array2=[[3,5,’6’,9],[1,4,’5’,8],[2,5,’7’,8]] #二维数组可以采用二维列表变量表示,每个列表中第三个元素是字符串类型
numpy库定义的常用的数组创建函数和三角函数
arange(start,end,i)函数:创建一个由star到end,以i为步长的数组。
linspace(start,end,n)函数:创建一个由start到end,等分成n个元素的数组。
sin(x)函数:求x的正弦值。
cos(x)函数:求x的余弦值。
tan(x)函数:求x的正切值。
pi:常量π。
示例如下:
import numpy as np #导入numpy模块,在程序的后续部分以np代替numpy
x=np.arange(0,2*np.pi,0.1) #生成一个数组x,0-2π间,以0.1为步长
y=np.sin(x) #对数组x中的所有元素求正弦值,得到新数组y(若代入上述x的值,新数组y即[0. sin(2) sin(4) sin(6) sin(8)])
matplotlib.pyplot子库
matplotlib.pyplot子库依赖于numpy模块,可以绘制多种形式的图形,包括散点图、线图、饼状图和直方图等。
matplotlib.pyplot子库定义了标签设置函数和基础图标函数:
title(s)函数:设置坐标系标题。参数s为字符串类型。
xlabel(s)函数:设置当前x轴的标签。参数s为字符串类型。
ylabel(s)函数:设置当前y轴的标签。参数s为字符串类型。
scatter(x,y)函数:绘制散点图,其中x,y是相同长度的数组序列。
编程要求
使用numpy库和matplotlib库绘制带英文标签的余弦曲线散点图,要求如下:
1.导入numpy库,并命名为np。
2.设置坐标系标题为cos(x),横轴标签为x,纵轴标签为y。
3.绘制y=cos(x),其中数组x中的元素在0-2π间,以0.1为步长。
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
预期输出:
你的答案与正确答案一致
开始你的任务吧,祝你成功!
"""
#绘制带标签的余弦曲线散点图
import matplotlib.pyplot as plt
# **********begin**********#
#(1)导入numpy库取别名为np
import numpy as np
def level2():
plt.figure(figsize=(10, 10))
#(2)绘制坐标系标题为'cos(x)'
plt.title('cos(x)')
#设置x轴标签为'x',y轴标签为'y'
plt.xlabel('x')
plt.ylabel('y')
#(3)创建一个数组x,0-2π间(π指np.pi,不包含2π),以0.1为步长
x = np.arange(0, 2 * np.pi, 0.1)
#(4)对数组x中的所有元素求余弦值cos(x),得到新数组y
y = np.cos(x)
#(5)生成散点图(x,y)
plt.scatter(x, y)
# **********end**********#
# 将绘制的图形保存为指定路径下的图片
plt.savefig("task2/image1/t2.png")
#显示散点图
plt.show()
level2()