当前位置: 首页 > news >正文

【第2月 day16】Matplotlib 散点图与柱状图

好的!以下是针对初学者的 Matplotlib 散点图与柱状图 学习内容,用简单易懂的语言和示例讲解:


一、散点图(Scatter Plot)

作用:展示两个变量之间的关系(如相关性、分布等)。

1. 核心函数:plt.scatter()
import matplotlib.pyplot as plt

# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 绘制散点图
plt.scatter(x, y, color='blue', s=50, alpha=0.7)  # s=点大小,alpha=透明度
plt.title("简单的散点图")
plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.show()
2. 常用参数解释
  • x, y:数据点的横纵坐标(必须参数)
  • s:点的大小(可以是单个值或与数据长度相同的列表)
  • c/color:颜色(支持颜色名称、RGB元组等)
  • alpha:透明度(0~1,1为完全不透明)
  • marker:点的形状(如 o, s, ^ 等)
3. 高级技巧
  • 颜色映射:用颜色表示第三个变量(如温度、高度)
    colors = [10, 20, 30, 40, 50]  # 第三个变量
    plt.scatter(x, y, c=colors, cmap='viridis')
    plt.colorbar()  # 显示颜色条
    

二、柱状图(Bar Chart)

作用:比较不同类别数据的数值大小(如销量、人口等)。

1. 核心函数:plt.bar()
# 示例数据
categories = ['A', 'B', 'C', 'D']
values = [25, 40, 30, 50]

# 绘制柱状图
plt.bar(categories, values, color='green', edgecolor='black', width=0.6)
plt.title("简单的柱状图")
plt.xlabel("类别")
plt.ylabel("数值")
plt.show()
2. 常用参数解释
  • x:类别标签(必须参数)
  • height:柱子的高度(必须参数)
  • width:柱子的宽度(默认0.8)
  • color/edgecolor:填充颜色和边框颜色
  • align:对齐方式('center''edge'
3. 高级技巧
  • 并列柱状图:比较多个组别
    x = [1, 2, 3, 4]
    y1 = [10, 15, 13, 17]
    y2 = [8, 12, 9, 14]
    
    plt.bar(x, y1, width=0.4, label='组1')
    plt.bar([i+0.4 for i in x], y2, width=0.4, label='组2')  # 横向偏移
    plt.legend()  # 显示图例
    

三、散点图 vs 柱状图

特征散点图柱状图
适用场景展示变量间关系比较类别数值大小
数据维度至少需要两个变量(x, y)一个类别变量 + 数值变量
可视化目标发现趋势、异常值强调差异或排序

四、常见问题

  1. 为什么我的图不显示?

    • 确保最后调用了 plt.show()
    • 检查是否安装了 matplotlib(安装命令:pip install matplotlib)。
  2. 如何保存图片?

    plt.savefig('my_plot.png', dpi=300)  # 保存为PNG格式,分辨率300
    
  3. X轴标签重叠怎么办?

    • 调整图表大小:plt.figure(figsize=(10,5))
    • 旋转标签:plt.xticks(rotation=45)

五、练习任务

  1. 用散点图绘制身高与体重的数据(自定义数据)。
  2. 用柱状图比较你最喜欢的3个水果的月销量。
  3. 尝试修改颜色、大小等参数,观察图表变化。

通过实际动手操作,你会更快掌握这两个图表的使用!

相关文章:

  • 第四课:模型的概念及应用
  • 【trino】trino配置证书https tls/ssl访问
  • Git -> git pull --rebase 遇到error : Filename too long的临时解决方案
  • LTSPICE仿真电路:(二十五)低侧电流检测电路仿真
  • 在WPF中使用VisualCollection创建复杂Adorner详解
  • AI Agent成为行业竞争新焦点:技术革新与商业重构的双重浪潮
  • 数据库事务与锁的知识点
  • Axure RP9.0教程: 查询条件隐藏与显示(综合了动态面板状态切换及展开收缩效果实现)
  • 管家婆财贸ERP BB100.采购单返写估价入库单价
  • On Superresolution Effects in Maximum Likelihood Adaptive Antenna Arrays论文阅读
  • PyTorch深度学习框架 的基础知识
  • Java高频面试题2:集合框架
  • Vue3 Pinia Store 新建store示例、使用store示例
  • 配置文件 ini
  • 一周学会Pandas2 Python数据处理与分析-编写Pandas2 HelloWord项目
  • 人脸识别和定位别的签到系统
  • python发送qq邮件
  • 开源模型应用落地-Qwen2.5-Omni-7B模型-部署 “光速” 指南
  • 记一个使用BigDecimal所有类型变为整数的问题
  • Qt基础:资源文件