首页 > 其他分享 >matplotlib.pyplot入门

matplotlib.pyplot入门

时间:2023-10-23 10:05:43浏览次数:34  
标签:plt 入门 创建 pyplot matplotlib pythonCopy 折线图

matplotlib.pyplot入门

引言

matplotlib是一个功能强大的Python绘图库,通过它可以用于生成各种类型的高质量图表和可视化效果。其中,pyplot是matplotlib库中的一个子模块,用于创建各种类型的图表,并提供了丰富的绘图函数和方法。本文将引导您快速入门使用matplotlib.pyplot来创建简单的图表。

安装

首先,确保您已经安装了matplotlib库。如果还没有安装,可以使用以下命令在终端中进行安装:

plaintextCopy codepip install matplotlib

导入库

在开始之前,让我们先导入matplotlib.pyplot库,并给它一个更短的别名plt

pythonCopy codeimport matplotlib.pyplot as plt

创建简单的图表

折线图

折线图是matplotlib中最常用的图表类型之一,可以用于显示数据随时间或其他连续变量而变化的趋势。下面是一个简单的例子,演示如何创建一个简单的折线图:

pythonCopy codex = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.title('简单折线图')
plt.show()

以上代码将创建一个包含5个点的折线图,x轴对应x列表中的值,y轴对应y列表中的值。然后使用plt.xlabel()plt.ylabel()函数来为坐标轴添加标签,使用plt.title()函数给图表添加标题。最后通过plt.show()函数显示图表。

散点图

散点图是另一种常见的图表类型,用于显示数据中两个变量之间的关系。下面是一个简单的例子,演示如何创建一个简单的散点图:

pythonCopy codex = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.scatter(x, y)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.title('简单散点图')
plt.show()

以上代码将创建一个包含5个点的散点图,x轴对应x列表中的值,y轴对应y列表中的值。其他步骤和创建折线图相同。

条形图

条形图用于对比不同类别或组之间的数据。下面是一个简单的例子,演示如何创建一个简单的条形图:

pythonCopy codecategories = ['类别1', '类别2', '类别3', '类别4', '类别5']
values = [10, 20, 15, 25, 30]
plt.bar(categories, values)
plt.xlabel('类别')
plt.ylabel('值')
plt.title('简单条形图')
plt.show()

以上代码将创建一个包含5个类别和对应值的条形图,x轴对应类别列表中的值,y轴对应值列表中的值。其他步骤和创建折线图相同。

饼图

饼图用于显示数据中各个部分(相对于整体)的比例关系。下面是一个简单的例子,演示如何创建一个简单的饼图:

pythonCopy codelabels = ['类别1', '类别2', '类别3', '类别4', '类别5']
sizes = [10, 20, 30, 25, 15]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('简单饼图')
plt.show()

以上代码将创建一个包含5个部分的饼图,每个部分的大小由sizes列表中的值确定,对应标签由labels列表指定。autopct='%1.1f%%'用于添加百分比标签。其他步骤和创建折线图相同。

总结

在本文中,我们简要介绍了如何使用matplotlib库中的pyplot模块创建简单的折线图、散点图、条形图和饼图。这只是matplotlib.pyplot的入门指南,该库还有许多其他功能和选项可以进一步探索。希望本文能对您对matplotlib.pyplot的使用有所帮助!

参考

实例背景

假设您是一家电子商务公司的数据分析师,负责分析产品销售数据并生成可视化报告。下面将以某产品在过去一年的销售数据为例,演示如何使用matplotlib.pyplot来创建简单的图表。

导入库

首先,我们需要导入matplotlib.pyplot库,并给它别名plt

pythonCopy codeimport matplotlib.pyplot as plt

创建折线图

折线图可以展示产品在时间上的销售趋势。假设我们有以下数据:

pythonCopy codemonths = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
sales = [1000, 1200, 900, 1500, 1800, 2000, 2300, 2100, 1800, 1500, 1200, 1300]

我们可以使用下面的代码创建折线图:

pythonCopy codeplt.plot(months, sales)
plt.xlabel('Month')
plt.ylabel('Sales')
plt.title('Monthly Sales Trend')
plt.show()

以上代码将创建一个折线图,横轴对应月份,纵轴对应销售额。plt.xlabel()plt.ylabel()分别设置横轴和纵轴的标签,plt.title()设置图表标题。最后使用plt.show()函数显示图表。

创建散点图

假设我们还有产品的价格数据,我们可以用散点图显示销售数量与价格之间的关系。以下是示例数据:

pythonCopy codeprices = [10, 12, 9, 15, 18, 20, 23, 21, 18, 15, 12, 13]

下面的代码将创建一个散点图:

pythonCopy codeplt.scatter(prices, sales)
plt.xlabel('Price')
plt.ylabel('Sales')
plt.title('Sales vs Price')
plt.show()

以上代码将创建一个散点图,横轴对应价格,纵轴对应销售数量。其他步骤和创建折线图相同。

创建条形图

假设我们还想比较不同产品的销售额情况,可以使用条形图。以下是示例数据:

pythonCopy codeproducts = ['Product A', 'Product B', 'Product C', 'Product D', 'Product E']
product_sales = [1000, 1200, 900, 1500, 1800]

下面的代码将创建一个条形图:

pythonCopy codeplt.bar(products, product_sales)
plt.xlabel('Products')
plt.ylabel('Sales')
plt.title('Product Sales Comparison')
plt.show()

以上代码将创建一个包含不同产品销售额的条形图,横轴对应产品名称,纵轴对应销售额。其他步骤和创建折线图相同。

创建饼图

假设我们还想查看各个产品销售额在总销售额中的占比情况,可以使用饼图。以下是示例数据:

pythonCopy codeproduct_names = ['Product A', 'Product B', 'Product C', 'Product D', 'Product E']
product_sales = [1000, 1200, 900, 1500, 1800]

下面的代码将创建一个饼图:

pythonCopy codeplt.pie(product_sales, labels=product_names, autopct='%1.1f%%')
plt.title('Product Sales Distribution')
plt.show()

以上代码将创建一个饼图,显示各个产品销售额在总销售额中的百分比。标签由product_names指定,百分比标签使用autopct='%1.1f%%'添加。其他步骤和创建折线图相同。

matplotlib.pyplot虽然是一个强大的数据可视化库,但也存在一些缺点。下面是matplotlib.pyplot的一些缺点:

  1. 绘图速度较慢:对于大型数据集,matplotlib.pyplot的绘图速度可能较慢。在处理大量数据时,可能需要考虑使用其他更高效的库。
  2. 默认样式较为简单:matplotlib.pyplot的默认样式相对简单,缺乏一些专业绘图库的精美和多样化的样式。要创建具有复杂或自定义样式的图表,可能需要花费额外的时间和精力。
  3. 学习曲线较陡峭:相对于其他一些数据可视化库,如Seaborn和Plotly,matplotlib.pyplot的学习曲线较为陡峭。它的API较为底层,需要更多的代码来实现一些高级功能,增加了学习和使用的难度。
  4. 缺乏交互性:matplotlib.pyplot的交互功能有限。虽然可以添加一些基本的交互行为,例如缩放和平移,但它不像Plotly这样的库能够提供更丰富的交互性能。 与matplotlib.pyplot类似的其他数据可视化库包括:
  5. Seaborn:是基于matplotlib的高级统计数据可视化库,简化了创建各种类型的图表的过程。它提供了更多的统计图表类型和复杂样式,并且与Pandas数据框框架集成得更好。
  6. Plotly:是一个交互式可视化库,可以创建高度交互性的图表和仪表盘。它支持Web应用程序和离线渲染,并提供了许多丰富和可定制的图表类型。
  7. Bokeh:是一个交互式的Python数据可视化库,适用于大型数据集和大规模数据。它提供了高性能的绘图功能,并支持在Web浏览器中构建交互式可视化应用程序。 总的来说,matplotlib.pyplot是一个功能强大且灵活的数据可视化库,但也存在一些缺点。根据具体需求和个人喜好,可以选择使用不同的数据可视化库来满足不同的要求。

标签:plt,入门,创建,pyplot,matplotlib,pythonCopy,折线图
From: https://blog.51cto.com/u_15702012/7983157

相关文章

  • 【matplotlib 实战】--漏斗图
    漏斗图,形如“漏斗”,用于展示数据的逐渐减少或过滤过程。它的起始总是最大,并在各个环节依次减少,每个环节用一个梯形来表示,整体形如漏斗。一般来说,所有梯形的高度应是一致的,这会有助人们辨别数值间的差异。需要注意的是,漏斗图的各个环节,有逻辑上的顺序关系。同时,漏斗图的所有环节的......
  • Python入门系列21-数学相关模块(math/decimal)
    一、math模块math库是Python提供的内置数学函数库,支持整数和浮点数运算。常用函数和属性如下图所示:函数/属性说明math.pi圆周率math.inf正无穷大math.ceil(浮点数)向上取整math.floor(浮点数)向下取整round(浮点数)四舍五入操作abs(数值)获取数值的绝对值math.fmod(x,y)返回x/y的......
  • python-使用matplotlib画折线图
    1importos2fromconfigparserimportConfigParser3importmatplotlib.pyplotasplt45plt.rcParams['font.sans-serif']=['SimHei']6plt.rcParams['axes.unicode_minus']=False78configFile='config.ini......
  • docker快速入门
    docker出现的原因使用linux部署项目的时候,最大的麻烦是软件的安装和部署步骤复杂,容易出错。项目部署上线的时候大概有三种方式:1.原生部署:什么环境软件都自己手动安装,还需要自己配置环境变量等等问题,非常麻烦(不推荐)2.宝塔部署:使用宝塔面板完成部署,与第一种方式相比,轻松了很多。......
  • 【HFSS】2.入门实例:T型波导的场内分析和优化设计
    1.概述Part1:波导内场分析新建HFSS工程设计创建T型波导模型包括创建几何模型、分配边界条件和激励定义和添加变量求解设置和扫频求解频率:10GHz(一般设置为工作频率的最高频率)扫频设置:8~10GHz,插值扫频查看分析结果S参数扫频结果电场动态分析动态演示电场分布......
  • Dubbo快速入门_在本工程模块中依赖另外子模块的接口报错java找不到符号
    场景:Dubbo入门案例项目结构:三个子模块dubbodemo_interfacedubbodemo_providerdubbodemo_consumer在消费者和提供者中引入dubbodemo_interface的依赖。dubbodemo_interface中定义了一个接口HelloServicedubbodemo_provider中有HelloService的实现类dubbodemo_consumer中定......
  • Java零基础入门-赋值运算符
    前言Java是一门广泛被应用的编程语言,它被用于开发各种类型的应用程序,从桌面应用程序到企业级后端系统。对于零基础的人来说,学习Java可能会感到有些困难。本文将帮助那些没有编程经验的人了解Java的赋值运算符。摘要本文将介绍Java中赋值运算符的概念、示例以及代码方法介绍。在......
  • Java零基础入门-逻辑运算符
    前言Java是一种广泛应用的编程语言,在在这里插入代码片软件开发中有着重要的地位。本文将介绍Java中的逻辑运算符及其在程序设计中的应用,希望能够帮助零基础的读者更好地入门学习Java。摘要本文将介绍Java中的三种逻辑运算符:与运算符(&&)、或运算符(||)和非运算符(!),并通过源代码......
  • Java零基础入门-关系运算符
    前言Java作为一门广受欢迎的开发语言,其在企业级应用和移动应用开发中有着广泛的应用。如果你是一个Java零基础的初学者,那么你来到了一个正确的地方。在本篇文章中,我们会详细介绍Java中的关系运算符,帮助你快速入门。摘要本文主要介绍Java中的关系运算符。关系运算符用于比较两个......
  • sql自学网入门视频
    col:列,每一个列都有一个列名、在写查询的时候,selectcol,colfromtablewhere条件在进行运算的时候是1.先from子句(找到数据源)2.where子句(计算数据的范围)3.select子句(列出查询出来表的列)。我们写sql的时候需要遵守这三步,有助于我们逻辑清晰复杂查询的步骤复杂查询的难......