实验二、数据处理之Matplotlib

本次实验详细介绍了如何使用matplotlib库进行数据可视化,包括绘制正弦曲线、多曲线图、多轴图、直方图、散点图和盒状图。通过实践,不仅了解了matplotlib的基本功能,还掌握了其使用技巧,解决了安装和导入库的问题。

实验二、数据处理之Matplotlib

一、实验目的

1. 了解matplotlib库的基本功能

2. 掌握matplotlib库的使用方法

二、实验工具:

1. Anaconda

2. Numpy,matplotlib

三、Matplotlib简介

Matplotlib 包含了几十个不同的模块, 如 matlab、mathtext、finance、dates 等,而 pylot 则是我们最常用的绘图模块

四、实验内容

1.绘制正弦曲线,并设置标题、坐标轴名称、坐标轴范围

代码:

import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['FangSong']
mpl.rcParams['axes.unicode_minus']=False
x=np.arange(0,2*np.pi,0.01)
y=np.sin(x)
plt.plot(x,y)
plt.title(u'正弦曲线',fontdict={'size':20})
plt.xlabel(u'弧度',fontdict={'size':16})
plt.ylabel(u'正弦值',fontdict={'size':16})
plt.axis([-0.1*np.pi,2.1*np.pi,-1.1,1.1])
plt.show()

实验结果:
在这里插入图片描述

2.同一坐标系中绘制多种曲线并通过样式、宽度、颜色加以区分

import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['FangSong']
mpl.rcParams['axes.unicode_minus']=False
x=np.linspace(-4,4,200)
f1=np.power(10,x)
f2=np.power(np.e,x)
f3=np.power(2,x)
plt.plot(x,f1,'r',ls='-',linewidth=2,label='$10^x$')
plt.plot(x,f2,'b',ls='--',linewidth=2,label='$e^x$')
plt.plot(x,f3,'g',ls=':',linewidth=2,label='$2^x$')
plt.axis([-4,4,-0.5,8])
plt.text(1,7.5,r'$10^x$',fontsize=16)
plt.text(2.2,7.5,r'$e^x$',fontsize=16)
plt.text(3.2,7.5,r'$2^x$',fontsize=16)
plt.title('幂函数曲线',fontsize=16)
plt.legend(loc='lower right')
plt.show()

在这里插入图片描述

3.绘制多轴图,即将多幅子图绘制在同一画板。

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(221)
x=np.arange(0,2*np.pi,0.01)
y=np.cos(x)
plt.plot(x,y)
plt.subplot(222)
plt.axis([-1,2,-1,2])
plt.axvline(x=0,ymin=0,linewidth=4,color='r')
plt.axvline(x=1.0,ymin=-0.5,ymax=0.5,linewidth=4,color='g')
plt.subplot(212)
x=np.arange(0,2*np.pi,0.01)
y=np.sin(x)
plt.plot(x,y)
plt.show()

在这里插入图片描述

4.直方图的绘制(数据自己定义)

import numpy as np
import matplotlib.pyplot as plt
data=np.random.normal(5.0,3.0,2000)
plt.hist(data)
bins=np.arange(-5,16,1)
plt.hist(data,bins)
plt.show()


在这里插入图片描述

5.绘制散点图

import numpy as np
import matplotlib.pyplot as plt
x=np.random.rand(50)
y=np.random.rand(50)
area=np.pi*(15*np.random.rand(50))**2
color=2*np.pi*np.random.rand(50)
plt.scatter(x,y,s=area,c=color,alpha=0.5,cmap=plt.cm.hsv)
plt.show()


在这里插入图片描述

6.绘制盒状图

import numpy as np
import matplotlib.pyplot as plt
data=np.random.randn(1000)
fig,(ax2)=plt.subplots(1,figsize=(8,4))
ax2.boxplot(data)
plt.show()

在这里插入图片描述

7.选做题(尝试matplotlib库的其它功能,如2D,3D等)

import numpy as np
import matplotlib.pyplot as plt
y,x=np.ogrid[-2:2:200j,-3:3:300j]
z=x*np.exp(-x**2 - y**2)
extent=[np.min(x),np.max(x),np.min(y),np.max(y)]
plt.subplot(121)
cs=plt.contour(z,10,extent=extent)
plt.clabel(cs)
plt.subplot(122)
plt.contourf(x.reshape(-1),y.reshape(-1),z,20)
plt.show()

在这里插入图片描述

五、实验总结(写出本次实验的收获,遇到的问题等

了解到matplotlib库不是只要你安装了numpy就有了这个库,刚开始做的时候因为没有导入matplotlib库而频频报错。在网上搜索了简易的安装matplotlib库的办法,直接在电脑cmd里面敲两行命令安装即可,不用再很繁琐的在电脑上还要配置环境变量。
在这里插入图片描述

LJY2AVM9VYXHJ50ALIW.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值