python学习第12周: Python matplotlib

本文通过实例演示了如何使用Matplotlib进行数据可视化,包括折线图、散点图及核密度估计图等基本绘图方法,并介绍了如何利用NumPy生成数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matplotlib是一个数据可视化工具.

from matplotlib import pyplot

目录

常规绘图方法

Exercise


常规绘图方法

pyplot.plot(X, Y)           # 绘点。 X表示点集的横坐标,Y表示点集的纵坐标
pyplot.show()               # 显示

折线图:

pyplot.plot(X, Y)

散点图:

pyplot.scatter(X, Y)


Exercise

代码:

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) 根据给定的一个样本点,计算该样本点的密度。 

 

运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值