80 lines
2.9 KiB
Python
80 lines
2.9 KiB
Python
"""
|
||
任务描述
|
||
相关知识
|
||
编程要求
|
||
测试说明
|
||
|
||
任务描述
|
||
|
||
本关任务:创建2行2列的绘图区域,分别绘制三种线型的折线图:实线、虚线和点。
|
||
相关知识
|
||
|
||
为了完成本关任务,请认真阅读以下相关知识。
|
||
matplotlib.pyplot子库定义了一些绘图函数:
|
||
subplot(rows,cols,plot_number)函数:把全局绘图区域分割成rows行*cols列的网格,并选择第plot_number个子绘图区域。
|
||
plot(x,y,color,linewidth,linestyle)函数:根据x,y数组绘制直、曲线,color表示曲线的颜色,linewidth表示曲线的宽度,linestyle表示曲线的线型。
|
||
常用颜色参数如下表所示:
|
||
|
||
常用线型参数如下表所示:
|
||
|
||
示例如下:
|
||
|
||
import matplotlib.pyplot as plt #导入matplotlib.pyplot子模块,在程序的后续部分以plt代替matplotlib.pyplot
|
||
x=[2,5] #用列表表示数组x
|
||
y=[4,8] #用列表表示数组y
|
||
plt.subplot(2,1,1) #将整个绘图区域分割成2行1列的网格,并在第一个位置绘制一个坐标系
|
||
|
||
呈现下面的效果:
|
||
|
||
plt.plot(x,y,color=’r’,linewidth=5,linestyle=’-’) #根据x,y数组绘制红色曲线,宽度为5,线型为实线
|
||
|
||
呈现下面的效果:
|
||
|
||
编程要求
|
||
|
||
在2行2列的绘图区域中绘制连线、虚线和点图,要求如下:
|
||
1.x为一个数组,在0-2π间,等分成500个元素。
|
||
2.在第一位置绘制y=sin(x),蓝色,实线;第二个位置绘制y=cos(x),红色,虚线;第三个位置绘制y=sin(πx),点线,绿色,宽度为3。第四个位置绘制一个空坐标系。
|
||
测试说明
|
||
|
||
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
|
||
|
||
预期输出:
|
||
你的答案与正确答案一致
|
||
|
||
开始你的任务吧,祝你成功!
|
||
"""
|
||
#绘制多个图形并单独显示
|
||
import numpy as np
|
||
import matplotlib.pyplot as plt
|
||
def level3():
|
||
plt.figure(figsize=(10,10))
|
||
#**********begin**********#
|
||
#(1)生成一个数组x,在0-2π间(π指np.pi),等分成500个元素。
|
||
x = np.linspace(0, 2 * np.pi, 500)
|
||
|
||
#生成y1和y2,值分别为sin(x)和cos(x)
|
||
y1 = np.sin(x)
|
||
y2 = np.cos(x)
|
||
#(2)y3=sin(πx)
|
||
y3 = np.sin(np.pi * x)
|
||
|
||
#生成2行2列绘图区域,并分别绘制实线图、虚线图、点图,最后一个区域无图
|
||
#(3)选择第一行第一列图形,绘制y1=sin(x),用蓝色实线
|
||
plt.subplot(221)
|
||
plt.plot(x, y1, c='b', linestyle='-')
|
||
|
||
#(4)选择第一行第二列图形,绘制y2=cos(x),红色虚线
|
||
plt.subplot(222)
|
||
plt.plot(x, y2, c='r', linestyle='--')
|
||
|
||
#选择第二行第一列图形,#绘制y3 = sin(πx), 绿色点,宽度为3,第二行第二列无图
|
||
plt.subplot(223)
|
||
plt.plot(x,y3,c='g',linewidth=3,linestyle=':')
|
||
plt.subplot(224)
|
||
#**********end**********#
|
||
#将绘制的图形保存为指定路径下的图片
|
||
plt.savefig("task3/image1/t3.png")
|
||
#显示创建的绘图对象
|
||
plt.show()
|