matplotlib基础用法

本文详细介绍了使用Matplotlib进行数据可视化的多种高级技巧,包括注释、区域填充、形状绘制及格式美化等,帮助读者掌握更复杂的图表制作方法。

注释:

import numpy as np
import matplotlib.pyplot as plt
x=np.arange(-10,11,1)
y=x**2
plt.plot(x,y)
plt.annotate(‘this is the bottom’,xy=(0,1),xytext=(0,20),arrowprops=dict(facecolor=‘r’,headlength=10,headwidth=30,width=10)) #xy表示箭头的起始坐标,xytext表示第一个字母的起始坐标
plt.show()

文字:

import matplotlib.pyplot as plt

plt.plot([0, 2], [0, 2])
plt.text(0.5, 1, 'put some text')
plt.show()

工具栏:

import matplotlib.pyplot as plt
fig=plt.figure()
ax=fig.add_subplot(111)
ax.set_xlim([1,7])
ax.set_ylim([1,5])
ax.text(2,4,r"$ \alpha_i \beta_j \pi \lambda \omega $",size=25)
ax.text(4,4,r"$ \sin(0)=\cos(\frac{\pi}{2}) $",suze=25)
ax.text(2,2,r"$ \lim_{x \rightarrow y} \frac{1}{x^3} $",size=25)
ax.text(4,2,r"$ \sqrt[4]{x}=\sqrt{y} $",size=25)
plt.show()

区域填充:

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,5*np.pi,1000)
y1=np.sin(x)
y2=np.sin(2*x)

--fill
plt.fill(x,y1,'b',alpha=0.3)
plt.fill(x,y2,'r',alpha=0.3)
plt.show()

--fill_between
fig=plt.figure()
ax=plt.gca()
ax.plot(x,y1,x,y2,color='black')
ax.fill_between(x,y1,y2,facecolor='blue')
plt.show()

--interplate=True自动填充空白部分
ax.plot(x,y1,color='r')
ax.plot(x,y2,color='b')
ax.fill_between(x,y1,y2,where=y1>=y2,facecolor='yellow',interplate=True)
ax.fill_between(x,y1,y2,where=y2>y1,facecolor='green',interplate=True)
plt.show()

形状:

import matplotlib.patches as mpatches
add_patch


import matplotlib.pyplot as plt
import numpy as np
import matplotlib.patches as mpatches
fig, ax=plt.subplots()
xy1=np.array([0.2,0.2])
xy2=np.array([0.2,0.8])
xy3=np.array([0.8,0.2])
xy4=np.array([0.8,0.8])

circle=mpatches.Circle(xy1,0.05)
ax.add_patch(circle)

rect=mpatches.Rectangle(xy2,0.2,0.1,color='r')
ax.add_patch(rect)

polygon=mpatches.RegularPolygon(xy3,5,0.1,color='g')
ax.add_patch(polygon)

ellipse=mpatches.Ellipse(xy4,0.4,0.2,color='y')
ax.add_patch(ellipse)

plt.axis('equal')
plt.grid()

格式美化:

import matplotlib.pyplot as plt
import numpy as np
fig, axes=plt.subplot(ncol=2,nrow=2)
ax1,ax2,ax3,ax4 = axes.ravel()
x, y= np.random.normal(size=(2,100))
ax1.plot(x,y,'o')

x=np.arange(0,10)
y=np.arange(0,10)
ncolors=len(plt.rcParams['axes.color_cycle'])
shift=np.linspace(0,10,ncolors)
for s in shift:
    ax2.plot(x,y+s,'-')
    
x=np.arange(5)
y1,y2.y3=np/random.randint(1,25,size=(3,5))
width=0.25

ax3.bar(x,y1,width)
ax3.bar(x+width,y2,width,color=plt.rcParams['axes.color_cycle'][1])
ax3.bar(x+2*width,y2,width,color=plt.rcParams['axes.color_cycle'][2])
for i,color in enumerate(plt.rcParams['axes.color_cycl']):
    xy=np.arange.normal(size=2)
    ax4.add_patch(plt.Circle(xy,radius=0.3,color=color))
ax4.axis('equal') 
plt.show()    
plt.style.use('fivethirtyeight')

### Matplotlib基础知识 MatplotlibPython 的一个绘图库,广泛应用于科学计算中的数据可视化工作[^1]。该库并非 Python 内置的一部分,在使用之前需要手动安装,并且其功能实现依赖于 NumPy 库的支持。 #### 安装与环境配置 为了能够顺利运行 Matplotlib 绘制图表的功能,确保环境中已经安装了最新版本的 Matplotlib 和必要的依赖项 NumPy。可以通过 pip 工具来完成安装: ```bash pip install matplotlib numpy ``` #### 创建第一个图表 一旦完成了上述准备工作之后,就可以开始尝试创建简单的图表了。下面的例子展示了如何利用 `plt.plot()` 方法绘制一条折线图: ```python import matplotlib.pyplot as plt import numpy as np # 准备一些测试数据 x = np.linspace(0, 9, 10) y = x ** 2 # 使用 plot() 方法画出曲线 plt.plot(x, y) # 显示图像 plt.show() ``` 这段代码首先导入所需的模块并准备了一些简单的一维数组作为横纵坐标值;接着通过调用 `plot` 方法指定 X 轴和 Y 轴上的数值序列即可得到对应的图形表示形式;最后调用了 `show` 来呈现最终的结果窗口[^4]。 #### 自定义图表外观 除了基本线条外,还可以进一步调整图表样式,比如改变颜色、标记点形状以及添加网格线等特性。这里给出一段更复杂的例子说明这些自定义选项的应用方式: ```python import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi, np.pi, 256, endpoint=True) c, s = np.cos(x), np.sin(x) plt.figure(figsize=(8,6)) plt.plot(x, c, color="blue", linewidth=2.0, linestyle="-", label='cosine') plt.plot(x, s, 'r*', markersize=7, markerfacecolor='red', label='sine') ax = plt.gca() # 获取当前轴域对象 ax.spines['right'].set_color('none') # 隐藏右边框 ax.spines['top'].set_color('none') # 隐藏上边框 ax.xaxis.set_ticks_position('bottom') # 设置X轴刻度位置到底部 ax.yaxis.set_ticks_position('left') # 设置Y轴刻度位置到左侧 ax.spines['bottom'].set_position(('data', 0)) ax.spines['left'].set_position(('data', 0)) plt.xlim(x.min()*1.1, x.max()*1.1) # 设定X轴范围 plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) # 更改默认标签文字 plt.ylim(c.min()*1.1, c.max()*1.1) # 设定Y轴范围 plt.legend(loc='upper left') # 添加图例 plt.grid(True) # 开启网格显示 plt.title(r'Simple Trig Functions') # 图表标题 plt.show() ``` 以上脚本不仅实现了两个三角函数(正弦波形和余弦波形)的同时展示,还加入了更多细节性的美化处理措施,使得整个画面更加直观易懂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值