Python数据科学Matplotlib图库怎么使用
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本文小编为大家详细介绍"Python数据科学Matplotlib图库怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"Python数据科学Matplotlib图库怎么使用"文章能帮助大家解决疑惑
千家信息网最后更新 2024年11月11日Python数据科学Matplotlib图库怎么使用
本文小编为大家详细介绍"Python数据科学Matplotlib图库怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"Python数据科学Matplotlib图库怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
Matplotlib 是 Python 的二维绘图库,用于生成符合出版质量或跨平台交互环境的各类图形。
工作流
Matplotlib 绘图的基本步骤:
1 准备数据
2 创建图形
3 绘图
4 自定义设置
5 保存图形
6 显示图形
import matplotlib.pyplot as pltx = [1,2,3,4] # step1y = [10,20,25,30]fig = plt.figure() # step2ax = fig.add_subplot(111) # step3ax.plot(x, y, color='lightblue', linewidth=3) # step3\4ax.scatter([2,4,6], [5,15,25], color='darkgreen', marker='^')ax.set_xlim(1, 6.5)plt.savefig('foo.png') # step5plt.show() # step6
准备数据
一维数据
import numpy as np x = np.linspace(0, 10, 100)y = np.cos(x) z = np.sin(x)
二维数据或图片
data = 2 * np.random.random((10, 10))data2 = 3 * np.random.random((10, 10))Y, X = np.mgrid[-3:3:100j, -3:3:100j]U = -1 - X**2 + YV = 1 + X - Y**2from matplotlib.cbook import get_sample_dataimg = np.load('E:/anaconda3/envs/torch/Lib/site-packages/matplotlib/mpl-data/aapl.npz')
绘制图形
import matplotlib.pyplot as plt
画布
fig = plt.figure()fig2 = plt.figure(figsize=plt.figaspect(2.0))
坐标轴
图形是以坐标轴为核心绘制的,大多数情况下,子图就可以满足需求。子图是栅格系统的坐标轴。
fig.add_axes()ax1 = fig.add_subplot(221) # row-col-numax3 = fig.add_subplot(212) fig3, axes = plt.subplots(nrows=2,ncols=2)fig4, axes2 = plt.subplots(ncols=3)
绘图例程
一维数据
fig, ax = plt.subplots()lines = ax.plot(x,y) # 用线或标记连接点ax.scatter(x,y) # 缩放或着色未连接的点axes[0,0].bar([1,2,3],[3,4,5]) # 绘制等宽纵向矩形axes[1,0].barh([0.5,1,2.5],[0,1,2]) # 绘制等高横向矩形axes[1,1].axhline(0.45) # 绘制与轴平行的横线axes[0,1].axvline(0.65) # 绘制与轴垂直的竖线ax.fill(x,y,color='blue') # 绘制填充多边形ax.fill_between(x,y,color='yellow') # 填充y值和0之间
二维数据或图片
import matplotlib.image as imgpltimg = imgplt.imread('C:/Users/Administrator/Desktop/timg.jpg') fig, ax = plt.subplots()im = ax.imshow(img, cmap='gist_earth', interpolation='nearest', vmin=-200, vmax=200)# 色彩表或RGB数组 axes2[0].pcolor(data2) # 二维数组伪彩色图axes2[0].pcolormesh(data) # 二维数组等高线伪彩色图CS = plt.contour(Y,X,U) # 等高线图axes2[2].contourf(data) axes2[2]= ax.clabel(CS) # 等高线图标签
向量场
axes[0,1].arrow(0,0,0.5,0.5) # 为坐标轴添加箭头axes[1,1].quiver(y,z) # 二维箭头axes[0,1].streamplot(X,Y,U,V) # 二维箭头
数据分布
ax1.hist(y) # 直方图ax3.boxplot(y) # 箱形图ax3.violinplot(z) # 小提琴图
自定义图形 颜色、色条与色彩表
plt.plot(x, x, x, x**2, x, x**3)ax.plot(x, y, alpha = 0.4)ax.plot(x, y, c='k')fig.colorbar(im, orientation='horizontal')im = ax.imshow(img, cmap='seismic')
标记
fig, ax = plt.subplots()ax.scatter(x,y,marker=".")ax.plot(x,y,marker="o")
线型
plt.plot(x,y,linewidth=4.0)plt.plot(x,y,ls='solid') plt.plot(x,y,ls='--')plt.plot(x,y,'--',x**2,y**2,'-.')plt.setp(lines,color='r',linewidth=4.0)
文本与标注
ax.text(1, -2.1, 'Example Graph', style='italic')ax.annotate("Sine", xy=(8, 0), xycoords='data', xytext=(10.5, 0), textcoords='data', arrowprops=dict(arrow, connection),)
数学符号
plt.title(r'$sigma_i=15$', fontsize=20)
尺寸限制、图例和布局
尺寸限制与自动调整
ax.margins(x=0.0,y=0.1) # 添加内边距ax.axis('equal') # 将图形纵横比设置为1ax.set(xlim=[0,10.5],ylim=[-1.5,1.5]) # 设置x轴与y轴的限ax.set_xlim(0,10.5)
图例
ax.set(title='An Example Axes', ylabel='Y-Axis', xlabel='X-Axis') # 设置标题与x、y轴的标签ax.legend(loc='best') # 自动选择最佳的图例位置
标记
ax.xaxis.set(ticks=range(1,5), ticklabels=[3,100,-12,"foo"]) # 手动设置X轴刻度ax.tick_params(axis='y', direction='inout', length=10) # 设置Y轴长度与方向
子图间距
fig3.subplots_adjust(wspace=0.5, hspace=0.3, left=0.125, right=0.9, top=0.9, bottom=0.1)fig.tight_layout() # 设置画布的子图布局
坐标轴边线
ax1.spines['top'].set_visible(False) # 隐藏顶部坐标轴线ax1.spines['bottom'].set_position(('outward',10)) # 设置底部边线的位置为outward
保存
#保存画布plt.savefig('foo.png')# 保存透明画布plt.savefig('foo.png', transparent=True)
显示图形
plt.show()
关闭与清除
plt.cla() # 清除坐标轴plt.clf() # 清除画布plt.close() # 关闭窗口
读到这里,这篇"Python数据科学Matplotlib图库怎么使用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
数据
图形
坐标
二维
坐标轴
画布
绘图
图库
科学
图例
数组
文章
标记
箭头
位置
内容
图片
尺寸
布局
彩色
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
哪些一本院校有网络安全
电脑自制监控服务器
软件开发项目群
怎么在路由器中查看网络安全设置
数据库语言是否属于高级语言
邯郸程序软件开发费用
北邮人论坛网络技术研究院
永州网络安全平台登录
计算机网络技术可以先自学什么
期刊全文数据库中国
网络安全知识竞赛入口
南邮网络技术应用作业答案
互联网科技金融部职责
web服务器网络安全
哪里软件开发公司多
嘉兴通信网络技术推荐咨询
成都软件开发哪家便宜
唯一艺术服务器扩容空投
海南互联网科技企业招聘
exac数据库
学习软件开发初学
鞍山纺织软件开发
速达服务器映射端口ip怎么填
java零基础自学软件开发
云服务器未装系统可以连接手机吗
富会高速公路项目数据库
基岩版pvp生存服务器
金牌至强服务器联系电话
10用户版数据库系统
服务器打开不显示网络连接