Python数据分析工具:Matplotlib用法示例

devtools/2024/10/18 1:28:44/

Python数据分析工具:Matplotlib

是一个强大的绘图库,它提供了丰富的接口用于生成各种静态、动态和交互式的图表。以下是几个Matplotlib的基本用法示例,涵盖了不同类型的图表和常用功能。

1. 折线图(Line Plot)

折线图用于显示数据随时间或其他连续变量的变化趋势。

python">
import matplotlib.pyplot as plt  
import numpy as np  # 创建数据  
x = np.linspace(0, 10, 100)  # 生成0到10之间的100个数据点  
y = np.sin(x)  # 计算正弦值  # 绘制折线图  
plt.figure(figsize=(10, 6))  # 设置图表大小  
plt.plot(x, y, label='sin(x)', color='blue', linestyle='-', linewidth=2)  # 添加标题和轴标签  
plt.title('Sin Function')  
plt.xlabel('X-axis')  
plt.ylabel('Y-axis')  # 添加图例  
plt.legend()  # 显示图表  
plt.show()

2. 散点图(Scatter Plot)

散点图用于显示两个变量之间的关系,通常用于观察数据的分布、异常值或类别之间的关系。

python">import matplotlib.pyplot as plt  
import numpy as np  # 创建数据  
np.random.seed(0)  
n_points = 200  
x = np.random.rand(n_points)  
y = np.random.rand(n_points)  # 绘制散点图  
plt.figure(figsize=(10, 6))  
plt.scatter(x, y, alpha=0.7, cmap='viridis')  # 使用颜色映射  # 添加标题和轴标签  
plt.title('Random Scatter Plot')  
plt.xlabel('X-axis')  
plt.ylabel('Y-axis')  # 显示图表  
plt.show()

3. 直方图(Histogram)

直方图用于显示数据的分布情况,特别适用于展示数值型数据的频率分布。

python">import matplotlib.pyplot as plt  
import numpy as np  # 创建数据  
data = np.random.normal(0, 1, 1000)  # 生成1000个正态分布数据  # 绘制直方图  
plt.figure(figsize=(10, 6))  
plt.hist(data, bins=30, color='blue', alpha=0.7, edgecolor='black')  # 添加标题和轴标签  
plt.title('Histogram of Normal Distribution')  
plt.xlabel('Value')  
plt.ylabel('Frequency')  # 显示图表  
plt.show()

4. 条形图(Bar Plot)

条形图用于比较不同类别之间的数据,例如不同产品的销售量或不同类别的统计数据。

python">import matplotlib.pyplot as plt  # 创建数据  
categories = ['A', 'B', 'C', 'D']  
values = [10, 15, 7, 12]  # 绘制条形图  
plt.figure(figsize=(10, 6))  
plt.bar(categories, values, color='skyblue')  # 添加标题和轴标签  
plt.title('Bar Chart')  
plt.xlabel('Category')  
plt.ylabel('Value')  # 显示图表  
plt.show()

5. 自定义图表样式

Matplotlib允许用户自定义图表的样式,包括颜色、线型、标记、标题、轴标签、图例等。

python">import matplotlib.pyplot as plt  
import numpy as np  # 创建数据  
x = np.linspace(0, 10, 100)  
y1 = np.sin(x)  
y2 = np.cos(x)  # 绘制图表并自定义样式  
plt.figure(figsize=(10, 6))  
plt.plot(x, y1, label='sin(x)', color='red', linestyle='--', linewidth=2)  
plt.plot(x, y2, label='cos(x)', color='green', linestyle='-.', linewidth=2)  # 添加标题和轴标签  
plt.title('Custom Line Plot')  
plt.xlabel('X-axis')  
plt.ylabel('Y-axis')  # 添加图例  
plt.legend()  # 自定义坐标轴范围  
plt.xlim(0, 10)  
plt.ylim(-1.5, 1.5)  # 显示图表  
plt.show()

以上示例展示了Matplotlib在Python数据分析中的基本用法,包括绘制折线图、散点图、直方图和条形图,并介绍了如何自定义图表的样式。通过这些示例,你可以了解到Matplotlib的强大功能和灵活性,以及如何利用它来生成高质量的数据可视化图表。


http://www.ppmy.cn/devtools/119169.html

相关文章

前缀和(7)_连续数组

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 前缀和(7)_连续数组 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 题目链接…

4G模组SIM卡电路很简单,但也要注意这些坑

上次水SIM卡相关的文章,还是上一次; 上一篇文章里吹牛说,跟SIM卡相关的问题还有很多,目的是为下一篇文章埋下伏笔;伏笔埋是埋下了,但如果债老是不还,心里的石头就总悬着,搞不好老板…

如何使用GitHub Desktop管理GitLab库

不管是新手还是老手,Github Desktop都是在苹果系统和Windows系统上管理与创建项目的不错的方式,GitHub Desktop都能够让在GitHub上的工作流更为简单快捷。 注意,以下步骤只支持原版的GitHub Desktop 第一步 从这下载GitHub Desktop打开你的G…

利用redis实现分布式定时任务

如果是微服务,两个服务都有定时,那么就出问题了,但是上分布式定时任务框架太麻烦怎么办,那么就用redis加个锁,谁先抢到锁谁执行 整个工具类 import org.springframework.beans.factory.annotation.Autowired; import …

Spring Boot 进阶-Spring Boot 如何实现自定义的过滤器详解

在上一篇文章中我们讲解了关于拦截器的相关内容,并且通过一个防抖的例子来讲解了拦截器在实际开发中的使用。这篇文章我们为大家带来的就是关于过滤器的相关内容的分享。下面我们首先来介绍一下什么是过滤器。 什么是过滤器? 过滤器Filter,是Servlet技术中最常用的技术,开…

Motion open Heart 详细动画化开放式心脏解剖

详细和动画的心脏直视解剖。 具有真实的运动和精确的心动周期动画。 包括真实阀门动画序列。 配备高清纹理2048x2048和高清法线贴图,可在教育和游戏方面获得更好、更真实的效果。为(VR)虚拟现实场景和增强现实(AR)做好准备。 下载:​​Unity资源商店链接资源下载链接 …

C++ 排序算法

快速排序 思想: 分而治之,或者说递归,即大问题拆解成类似的小问题,把所有的小问题解决,就解决了大问题; 应用在快排(默认从小到大排序)上,就是取一基准点,遍…

0基础跟德姆(dom)一起学AI 机器学习02-KNN算法

【理解】KNN算法思想 K-近邻算法(K Nearest Neighbor,简称KNN)。比如:根据你的“邻居”来推断出你的类别 KNN算法思想:如果一个样本在特征空间中的 k 个最相似的样本中的大多数属于某一个类别,则该样本也属…