【100天精通Python】Day61:Python 数据分析_Pandas可视化功能:绘制饼图,箱线图,散点图,散点图矩阵,热力图,面积图等(示例+代码)
目录
1 Pandas 可视化功能
2 Pandas绘图实例
2.1 绘制线图
2.2 绘制柱状图
2.3 绘制随机散点图
2.4 绘制饼图
2.5 绘制箱线图A
2.6 绘制箱线图B
2.7 绘制散点图矩阵
2.8 绘制面积图
2.9 绘制热力图
2.10 绘制核密度估计图
1 Pandas 可视化功能
pandas是一个强大的数据分析库,提供了一些可视化工具来帮助用户更好地理解和展示数据。以下是pandas可视化工具的一些常见功能:
1. 折线图:通过plot()函数可以绘制折线图,展示数据随时间或其他变量的变化趋势。
2. 散点图:使用scatter()函数可以绘制散点图,在二维平面上展示两个变量之间的关系。
3. 条形图:使用bar()函数可以绘制条形图,用于比较不同类别或组的数值大小。
4. 直方图:使用hist()函数可以绘制直方图,用于展示数值型数据的分布情况。
5. 饼图:使用pie()函数可以绘制饼图,展示不同类别的占比情况。
6. 箱线图:使用boxplot()函数可以绘制箱线图,展示数值型数据的分布特征、离群值等。
Pandas 是一个用于数据处理和分析的流行库,它提供了一些内置的可视化功能,通常基于 Matplotlib 这个底层库。
-
绘制线图:
df['column_name'].plot(kind='line')
绘制柱状图:
df['column_name'].plot(kind='bar')
绘制散点图:
df.plot(x='x_column', y='y_column', kind='scatter')
hist()函数:hist()函数用于绘制直方图,以显示数据的分布和频率。
df['column_name'].hist(bins=10)
boxplot()函数:boxplot()函数用于绘制箱线图,显示数据的分位数和离群值。
df.boxplot(column='column_name')
scatter_matrix()函数:scatter_matrix()函数用于绘制多个变量之间的散点图矩阵,有助于了解变量之间的关系。
from pandas.plotting import scatter_matrixscatter_matrix(df, alpha=0.5, figsize=(8, 8), diagonal='hist')
plotting.scatter_matrix()函数:这是一个更高级的散点图矩阵绘制函数,可以自定义每个子图的属性。
from pandas.plotting import scatter_matrixscatter_matrix(df, alpha=0.5, figsize=(8, 8), diagonal='kde', color='red')
plot.barh()函数:plot.barh()函数用于绘制水平柱状图。
df['column_name'].plot(kind='barh')
plot.pie()函数:plot.pie()函数用于绘制饼图,用于显示数据的占比。
df['column_name'].plot(kind='pie', autopct='%1.1f%%')
plot.area()函数:plot.area()函数用于绘制堆叠面积图,显示数据的累积变化趋势。
df.plot.area()
plot.kde()函数:plot.kde()函数用于绘制核密度估计图,显示数据的概率密度分布。
2 Pandas绘图实例
2.1 绘制线图
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
# 创建数据
data = {'年份': [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017],'销售额': [100, 150, 120, 180, 200, 250, 300, 280]}# 转换为DataFrame格式
df = pd.DataFrame(data)# 绘制折线图
plt.plot(df['年份'], df['销售额'], marker='o')# 设置x轴和y轴标签、标题
plt.xlabel('年份')
plt.ylabel('销售额')
plt.title('销售额变化趋势')# 添加图例
plt.legend(['销售额'])# 显示图形
plt.show()

当使用Pandas绘制柱状图、散点图和饼图时,您可以使用plot()函数的不同kind参数来指定要绘制的图表类型。
2.2 绘制柱状图
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 替换为您系统中支持的字体
# 创建一个示例DataFrame
data = {'Category': ['A', 'B', 'C', 'D'],'Values': [10, 15, 7, 12]}df = pd.DataFrame(data)# 绘制柱状图
df.plot(x='Category', y='Values', kind='bar', title='柱状图')
plt.xlabel('类别')
plt.ylabel('数值')
plt.show()

2.3 绘制随机散点图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 替换为您系统中支持的字体
# 生成随机数据
np.random.seed(0) # 设置随机种子以确保可重复性
num_points = 100
x = np.random.rand(num_points) # 随机生成x坐标
y = np.random.rand(num_points) # 随机生成y坐标
colors = np.random.rand(num_points) # 随机生成颜色值# 创建DataFrame
data = {'X': x, 'Y': y, 'Color': colors}
df = pd.DataFrame(data)# 绘制散点图
plt.figure(figsize=(8, 6)) # 设置图形大小
plt.scatter(x='X', y='Y', c='Color', data=df, cmap='viridis', alpha=0.7)
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('随机散点图')
plt.colorbar(label='颜色')
plt.show()

上述示例中,我们首先使用NumPy生成了一些随机的x和y坐标数据,以及随机的颜色值。然后,我们将这些数据放入一个Pandas DataFrame 中,并使用Matplotlib绘制了散点图。颜色使用了色彩映射(cmap),并添加了颜色条(colorbar)以显示颜色映射的对应关系。
2.4 绘制饼图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 替换为您系统中支持的字体# 创建一个示例DataFrame,包含不同类别的值
data = {'Category': ['A', 'B', 'C', 'D'],'Values': [10, 15, 7, 12]}df = pd.DataFrame(data)# 指定用于饼图的数值列和标签列
values = df['Values']
labels = df['Category']# 绘制饼图
plt.figure(figsize=(6, 6)) # 设置图形大小
df.plot(y='Values', kind='pie', labels=df['Category'], autopct='%1.1f%%', title='饼图') # 绘制饼图
plt.title('饼图') # 设置图表标题# 显示图表
plt.axis('equal') # 使饼图保持圆形
plt.show()

在上述示例中,首先创建了一个包含类别和对应数值的DataFrame。然后,使用
plt.pie()函数来绘制饼图,其中values包含数值数据,labels包含饼图的标签。autopct参数用于显示百分比标签,startangle参数用于指定饼图的起始角度。最后,使用plt.axis('equal')确保饼图保持圆形。
2.5 绘制箱线图A
import pandas as pd
import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif'] = ['SimHei']# 创建示例数据集
data = {'Product_A': [random.randint(50, 100) for _ in range(50)],'Product_B': [random.randint(40, 90) for _ in range(50)],'Product_C': [random.randint(60, 110) for _ in range(50)],'Product_D': [random.randint(30, 70) for _ in range(50)],'Product_E': [random.randint(20, 80) for _ in range(50)],'Product_F': [random.randint(70, 120) for _ in range(50)]
}df = pd.DataFrame(data)# 使用boxplot()函数绘制箱线图
df.boxplot(column=['Product_A', 'Product_B', 'Product_C', 'Product_D', 'Product_E', 'Product_F'])# 添加标题和标签
plt.title('不同产品销售数据箱线图')
plt.ylabel('销售数量')# 显示图形
plt.show()

在这个示例中,我们创建了一个包含6种产品的示例DataFrame
df,每种产品有50个销售数据点。然后,我们使用boxplot()函数绘制了这6种产品的箱线图。箱线图将展示每种产品的销售数量分布情况,包括中位数、四分位数、离群值等信息。通过比较不同产品的箱线图,您可以更好地了解它们的销售数据分布,以便进行进一步的分析和决策。这种可视化方法可以帮助您分析潜在的销售趋势和异常情况。
2.6 绘制箱线图B
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #替换为系统中支持的字体# 创建一个示例数据集,包括三个组的数据
data = pd.DataFrame({'Group1': np.random.normal(0, 1, 100),'Group2': np.random.normal(2, 1, 100),'Group3': np.random.normal(1, 1, 100),'Group4': np.random.normal(3, 1, 100)
})# 使用boxplot()函数绘制箱线图,指定显示的列和参数
data.boxplot(column=['Group1', 'Group2', 'Group3', 'Group4'],notch=True, # 添加缺口以估计中位数的不确定性sym='o', # 设置异常值标记为圆圈vert=False, # 水平显示箱线图patch_artist=True, # 填充箱体颜色showmeans=True, # 显示均值点meanline=True, # 显示均值线widths=0.5 # 箱体宽度)# 添加标题和标签
plt.title('箱线图示例')
plt.xlabel('值')
plt.ylabel('分组')# 显示图形
plt.show()

在这个示例中,我们创建了一个包含四个组的示例DataFrame
data,每个组有100个随机数。然后,我们使用boxplot()函数绘制箱线图,并自定义了多个参数:
notch=True:在箱体中添加缺口以估计中位数的不确定性。sym='o':将异常值标记为圆圈。vert=False:水平显示箱线图。patch_artist=True:填充箱体颜色。showmeans=True:显示均值点。meanline=True:显示均值线。widths=0.5:设置箱体宽度。其中每个箱体表示一个组的数据分布情况。箱线图还显示了中位数、均值点和异常值。这种可视化工具有助于比较多个组的数据分布,并检测异常值。
2.7 绘制散点图矩阵
pandas.plotting.scatter_matrix()函数用于绘制多个变量之间的散点图矩阵,帮助您了解各个变量之间的关系。这个函数可以自定义每个子图的属性,包括颜色、标记、直方图和核密度估计等。下面是一个详细的示例:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix
plt.rcParams['font.sans-serif'] = ['SimHei']
# 创建一个包含多个变量的示例数据集
data = pd.DataFrame(np.random.randn(100, 4), columns=['A', 'B', 'C', 'D'])# 使用scatter_matrix()函数绘制散点图矩阵
# 主要参数包括DataFrame对象,alpha(透明度),diagonal(对角线上的图表类型),color(颜色),marker(标记类型)等
scatter_matrix(data, alpha=0.8, figsize=(8, 8), diagonal='hist', color='blue', marker='o')# 添加标题
plt.suptitle('散点图矩阵示例')# 显示图形
plt.show()

在这个示例中,我们首先创建了一个包含四个随机变量的示例DataFrame
data。然后,我们使用scatter_matrix()函数绘制散点图矩阵,指定了一些参数:
alpha参数设置透明度,这样可以看到重叠点。figsize参数设置图形的大小。diagonal参数设置对角线上的图表类型,这里使用直方图。color参数设置散点的颜色。marker参数设置散点的标记类型。最后,我们添加了标题并显示图形。
2.8 绘制面积图
面积图 (Area Plot)
面积图用于可视化时间序列或有序数据的变化趋势,通常用于显示数据的累积变化
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']# 创建示例数据集
data = {'Year': [2000, 2001, 2002, 2003, 2004],'Product_A': [100, 120, 140, 160, 180],'Product_B': [80, 90, 110, 130, 150]
}df = pd.DataFrame(data)# 使用plot()函数创建面积图
plt.figure(figsize=(8, 6))
plt.stackplot(df['Year'], df['Product_A'], df['Product_B'], labels=['Product_A', 'Product_B'], alpha=0.7)
plt.xlabel('年份')
plt.ylabel('销售数量')
plt.title('面积图示例')
plt.legend(loc='upper left')
plt.show()
在上述示例中,我们首先创建了一个包含年份和两种产品销售数量的示例DataFrame。然后,使用
stackplot()函数创建面积图,alpha参数设置透明度,labels参数设置图例标签,legend()函数用于显示图例。

2.9 绘制热力图
热力图 (Heatmap)
热力图用于可视化矩阵数据中各个元素之间的关系,通常通过颜色来表示数值的大小。
要在Pandas中绘制热力图,通常需要使用辅助库,最常见的是Seaborn和Matplotlib。Seaborn提供了高级的热力图绘制函数,而Matplotlib用于显示图形。以下是如何在Pandas中使用Seaborn和Matplotlib绘制热力图的示例:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as snsplt.rcParams['font.sans-serif'] = ['SimHei'] #替换为系统中支持的字体# 创建示例数据集
data = np.random.rand(5, 5) # 5x5的随机矩阵# 转换为DataFrame
df = pd.DataFrame(data, columns=['A', 'B', 'C', 'D', 'E'])# 使用seaborn的heatmap()函数创建热力图
plt.figure(figsize=(8, 6))
sns.heatmap(df, annot=True, cmap='coolwarm', linewidths=.5)
plt.title('热力图示例')
plt.show()

在上述示例中,我们首先创建了一个随机矩阵,并将其转换为Pandas DataFrame。然后,使用Seaborn的
heatmap()函数来绘制热力图。参数annot=True用于在图表上显示数值标签,cmap用于设置颜色映射,linewidths用于设置单元格之间的间隔线宽度。
2.10 绘制核密度估计图
plot.kde()函数:plot.kde()函数用于绘制核密度估计图,显示数据的概率密度分布。
import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] #替换为系统中支持的字体# 创建示例数据集
data = {'Values': [10, 15, 13, 18, 25, 12, 22, 27, 16, 21]}df = pd.DataFrame(data)# 使用plot.kde()函数创建核密度估计图
df['Values'].plot.kde()
plt.xlabel('数值')
plt.ylabel('概率密度')
plt.title('核密度估计图示例')
plt.show()

在这个示例中,我们首先创建了一个包含示例数据的DataFrame
df,然后使用plot.kde()函数绘制核密度估计图。这个图表显示了数据的概率密度分布,它是一个平滑的曲线,代表了数据在不同数值上的概率密度。
相关文章:
【100天精通Python】Day61:Python 数据分析_Pandas可视化功能:绘制饼图,箱线图,散点图,散点图矩阵,热力图,面积图等(示例+代码)
目录 1 Pandas 可视化功能 2 Pandas绘图实例 2.1 绘制线图 2.2 绘制柱状图 2.3 绘制随机散点图 2.4 绘制饼图 2.5 绘制箱线图A 2.6 绘制箱线图B 2.7 绘制散点图矩阵 2.8 绘制面积图 2.9 绘制热力图 2.10 绘制核密度估计图 1 Pandas 可视化功能 pandas是一个强大的数…...
2023华为产品测评官-开发者之声 | 华为云CodeArts征文活动,多重好礼邀您发声!
"2023华为产品测评官-开发者之声"活动激发了众多开发者和技术爱好者的热情,他们纷纷递交了精心编写的产品测评报告。活动社群充满活力,参与者们热衷于交流讨论,互相帮助解决问题,一起探索云技术的无限可能。…...
Python 图形化界面基础篇:获取文本框中的用户输入
Python 图形化界面基础篇:获取文本框中的用户输入 引言 Tkinter 库简介步骤1:导入 Tkinter 模块步骤2:创建 Tkinter 窗口步骤3:创建文本框步骤4:获取文本框中的用户输入步骤5:启动 Tkinter 主事件循环 完整…...
【驱动开发】实现三盏灯的控制,编写应用程序测试
head.h #ifndef __HEAD_H__ #define __HEAD_H__//LED1:PE10 //LED2:PF10 //LED3:PE8#define LED_RCC 0X50000A28 //使能GPIO#define LED_MODER 0X50006000 //设置输出模式 #define LED_ODR 0X50006014 //设置输出高低电平#define LED2_MODER 0X50007000 …...
Vue3+ElementUI使用
<!DOCTYPE html> <html> <head><meta charset"UTF-8"><meta name"viewport" content"initial-scale1.0,maximum-scale1.0,minimum-scale1.0,user-scalable0, widthdevice-width"/><!-- 引入样式 --><lin…...
MySQL 和 MariaDB 版本管理的历史背景及差异
目录 MariaDB MySQL 差异 关于 SQLE SQLE 获取 了解更多 需要说明的是 MySQL 和 MariaDB 都有社区版和企业版。对于 MySQL,这两个版本都是由同一家公司(Oracle)提供,遵循相同的版本编号体系,企业版包含更丰富…...
linux驱动开发--day4(字符设备驱动注册内部流程、及实现备文件和设备的绑定下LED灯实验)
一、字符设备驱动注册的内部过程 1.分配struct cdev对象空间 2.初始化struct cdev对象 3.注册cdev对象 二、注册字符设备驱动分步实现 1.分配字符设备驱动对象 2.字符设备驱动对象初始化 3.设备号的申请 4.根据申请的设备号和驱动对象注册驱动 三、open函数回调驱动中…...
elasticsearch5-RestAPI操作
个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…...
数据结构与算法(一)
文章目录 数据结构与算法(一)1 位运算、算法是什么、简单排序1.1 实现打印一个整数的二进制1.2 给定一个参数N,返回1!+2!+3!+4!+...+N!的结果1.3 简单排序算法2 数据结构大分类、前缀和、对数器2.1 实现前缀和数组2.2 如何用1\~5的随机函数加工出1\~7的随机函数2.3 如何把不…...
Matlab--微积分问题的计算机求解
目录 1.单变量函数的极限问题 1.1.公式例子 1.2.对应例题 1 2.多变量函数的极限问题 3.函数导数的解析解 4.多元函数的偏导数 5.Jacobian函数 6.Hessian矩阵 7.隐函数的偏导 8.不定积分问题的求解 9.定积分的求解问题 10. 多重积分的问题求解 1.单变量函数的极限问题 …...
GRU实现时间序列预测(PyTorch版)
💥项目专栏:【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码数据集原理介绍) 文章目录 前言一、基于PyTorch搭建GRU模型实现风速时间序列预测二、时序数据集的制作三、数据归一化四、数据集加载器…...
文本框粘贴时兼容Unix、Mac换行符的方法源码
本篇文章属于《518抽奖软件开发日志》系列文章的一部分。 我在开发《518抽奖软件》(www.518cj.net)的时候,要在文本框粘贴从别处复制来的名单。发现一个问题,就是一些Unix传过来的多行文本,粘贴后都变成了一行。原来&a…...
2023年华为杯研究生数学建模竞赛辅导
2023年华为杯研究生数学建模竞赛辅导 各研究生培养单位: 中国研究生数学建模竞赛作为教育部学位管理与研究生教育司指导,中国学位与研究生教育学会、中国科协青少年科技中心主办的“中国研究生创新实践系列大赛”主题赛事之一,是一项面向在校…...
post更新,put相当于删除重新增一条
索引数据 //删除后新增 PUT my_dynamic_temp/_doc/1 { “name”:“test”, “class”:“1204” } //覆盖更新 POST my_dynamic_temp/_update/1 { “doc”: { “name”:“test”, “class”:“1203”, “pernum”:“998” } }...
python责任链模式
责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理它为止。在Python中,你可以使用多线程来实现责任链模式的框架。 首先,你需要定义一个基础的处理者类,它包含处理请求的方…...
大数据技术准备
Hbase:HBase 底层原理详解(深度好文,建议收藏) - 腾讯云开发者社区-腾讯云 Hbase架构图 同一个列族如果有多个store,那么这些store在不同的region Hbase写流程(读比写慢) MemStore Flush Hbas…...
【力扣周赛】第 362 场周赛(⭐差分匹配状态压缩DP矩阵快速幂优化DPKMP)
文章目录 竞赛链接Q1:2848. 与车相交的点解法1——排序后枚举解法2——差分数组⭐差分数组相关题目列表📕1094. 拼车1109. 航班预订统计2381. 字母移位 II2406. 将区间分为最少组数解法1——排序贪心优先队列解法2——差分数组 2772. 使数组中的所有元素…...
四大函数式接口(重点,必须掌握)
新时代程序员必须要会的 :lambda表达式、链式编程、函数式接口、Stream流式计算 什么是函数式接口 1.函数型接口 package com.kuang.function;import java.util.function.Function;/*** Function函数型接口 有一个输入参数,有一个输出* 只要是函数式接口…...
2023Web前端逻辑面试题
1、现有9个小球,已知其中一个球比其它的重,如何只用天平称2次就找出该球? ①把9个球分成三份,三个一份; ②拿出其中两份进行称量;会分为两种情况 若拿出的两份小球称量结果,重量相等;…...
uniapp中git忽略node_modules,unpackage文件
首先在当前项目的命令行新建.gitignore文件: touch .gitignore再在编辑器中打开该文件,并在该文件中加入需要忽略的文件名: node_modules/ .project unpackage/ .DS_Store 提示:如果以前提交过unpackage文件的话,需…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
