matplotlib 散点图绘制指南:从基础到美化
154 浏览量
更新于2024-08-31
收藏 115KB PDF 举报
在使用Python的数据可视化库matplotlib进行数据展示时,scatter方法是一种常用且重要的图形绘制手段。scatter函数用于创建二维散点图,适用于表示两个变量之间的关系或数据点的分布情况。本篇文章将详细介绍如何利用matplotlib的scatter方法绘制散点图,并提供两种不同的示例。
首先,我们来看最简单的散点图绘制。在这个例子中,数据分为两列,一列是X坐标(如飞行常客里程数),另一列是Y坐标(如游戏时间百分比)。通过以下代码:
```python
import matplotlib.pyplot as plt
def plot_picture():
file = "data.txt" # 假设数据文件名
xlist = []
ylist = []
with open(file, "r") as f:
for line in f.readlines():
line = line.strip().split()
if len(line) != 2 or int(line[1]) < 100000:
continue
x, y = int(line[0]), int(line[1])
xlist.append(x)
ylist.append(y)
plt.xlabel('X - 航班里程数')
plt.ylabel('Y - 游戏时间百分比')
plt.scatter(xlist, ylist) # 使用scatter方法绘制散点
plt.show()
```
这段代码首先读取数据文件,然后根据指定条件筛选数据,最后使用scatter函数将筛选后的数据点在坐标轴上呈现为散点图。这有助于快速识别数据点之间的关系和分布模式。
其次,文章提到了提升绘图美观性的另一种方式,这里以更复杂的数据集为例,比如飞行里程数、游戏时间、冰淇淋消费量与个人魅力等级之间的关系。在这个场景下,X轴代表飞行里程数,Y轴代表游戏时间百分比,而颜色或形状可能根据魅力等级进行区分。这可以通过设置额外的参数,如color或c参数,来实现:
```python
# 更复杂的数据格式示例
data = [
[409208.32, 0.95, 3], # 第三列为魅力等级
[144887.15, 1.67, 2],
[260521.44, 0.80, 1],
# 更多数据...
]
# 绘制带有不同颜色或形状的散点图
plt.scatter(data[:, 0], data[:, 1], c=data[:, 2], cmap='viridis', s=50, alpha=0.8, label='魅力等级')
# 添加图例和美观调整
plt.colorbar(label='魅力等级')
plt.title('飞行里程数与游戏时间关系 (按魅力等级区分)')
plt.legend()
plt.xlabel('飞行里程数')
plt.ylabel('游戏时间百分比')
plt.show()
```
在这个例子中,通过设置c参数来根据魅力等级赋予不同的颜色,`cmap`参数定义了颜色映射,`s`参数调整点的大小,`alpha`参数控制透明度,从而创建了一个更具表现力的散点图。
总结来说,matplotlib的scatter方法提供了丰富的参数,帮助我们根据实际需求定制散点图的外观和含义。通过这两个示例,读者能够掌握如何在Python中使用matplotlib创建基本和定制化的散点图,这对于数据分析师和数据可视化爱好者来说是非常实用的知识。
2020-09-19 上传
2020-09-18 上传
2021-09-29 上传
2020-09-19 上传
2020-09-18 上传
2021-08-31 上传
2021-01-20 上传
2020-09-20 上传
weixin_38624519
- 粉丝: 5
- 资源: 899
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍