赞
踩
matplotlib是一个数据可视化工具.
from matplotlib import pyplot
目录
- pyplot.plot(X, Y) # 绘点。 X表示点集的横坐标,Y表示点集的纵坐标
- pyplot.show() # 显示
折线图:
pyplot.plot(X, Y)
散点图:
pyplot.scatter(X, Y)
代码:
- import matplotlib.pyplot as plt
- import numpy
- import math
- def func(x):
- y1 = numpy.sin(x-2)
- y2 = math.e ** (-x*x)
- return y1**2 * y2
-
- x = numpy.linspace(0, 2, 1000)
- y = func(x)
- plt.plot(x, y)
- plt.xlabel('x')
- plt.ylabel('y')
- plt.title('y = f(x)')
- plt.show()
解题思路:
这里最主要是对numpy和matplotlib中的函数的使用。numpy.linspace(0, 2, 1000)生成一个以0为起点,2为终点,间隔相等,共1000个点的列表。plt.plot(x, y)根据x,y中对应的点绘制在图上并且用直线将相邻的点连接起来。
运行结果:
代码:
- import matplotlib.pyplot as plt
- import numpy
- import math
- X = numpy.random.normal(size=(20, 10))
- z = numpy.random.normal(size = 20)
- b = numpy.random.normal(size = 10)
- y = numpy.matmul(X, b) + z
- b_ = numpy.linalg.lstsq(X, y, None)
- b_ = b_[0]
- plt.scatter(range(0, 10), b, color = 'red', marker = 'x', label = "real")
- plt.scatter(range(0, 10), b_, color = 'blue', marker = '.', label = "estimate")
- plt.show()
解题思路:
根据题意这里需要使用最小二乘法来计算b的估计量,numpy.linalg.lstsq函数返回的第一个值就是b的估计量。scatter函数用于描绘散点图marker表示的是节点的形状,此处不知为何,标签无法显示。
运行结果:
11.3
题目
题解
- import matplotlib.pyplot as plt
- from scipy import stats
- import numpy
- import math
- z = numpy.random.normal(size = 10000)
- plt.hist (z , bins=25, normed=1, color='b' )
- kde = stats.gaussian_kde(z.T) # 构造多变量核密度评估函数
- density = kde(z.T) # 给定一个样本点,计算该样本点的密度
- plt.scatter(z.T, density, marker = '.')
- plt.show()
解题思路
hist函数用于描绘柱状图。stats.gaussian_kde() 用于构造一个多变量核密度评估函数,density = kde(z.T) 根据给定的一个样本点,计算该样本点的密度。
运行结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。