You need to enable JavaScript to run this app. 如何使用Matplotlib将df5和df8两个DataFrame绘制在同一张散点图上
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Matplotlib将df5和df8两个DataFrame绘制在同一张散点图上

问题根因

  • 原有单独绘图的代码逻辑顺序错误:先调用绘图函数再创建画布,导致绘制内容落在默认生成的隐式画布上,后续新建的画布为空,也没有固定绘图的画布对象
  • 尝试的同图代码缺失画布尺寸、字体配置、坐标轴标注等设置,若未清空之前的绘图对象,也会出现显示异常

修正后可实现同图绘制的完整代码

import matplotlib.pyplot as plt

# 提前配置全局字体参数
plt.rcParams["font.family"] ="sans-serif" 
plt.rcParams["font.size"] = 10

# 先创建指定尺寸的画布,避免绘图内容和画布分离
fig = plt.figure(figsize=(10,15))

# 先后绘制两组散点,可自行调整颜色、透明度、点大小参数
plt.scatter(df5['Temperature'], df5['Moment'], color='g', alpha=0.4, s=6, label='df5')
plt.scatter(df8['Temperature'], df8['Moment'], color='b', alpha=0.4, s=6, label='df8')

# 设置坐标轴标签与图例
plt.xlabel('Temperature(K)')
plt.ylabel('DC Moment (emu)')
plt.legend()

# 显式调用渲染展示图像
plt.show()

改动说明

  • 调整了代码执行顺序:先配置全局参数、创建画布,再执行绘图操作,彻底避免画布和绘图内容分离的问题
  • 给两组散点增加了label参数,添加图例后可直接区分两组数据
  • 保留了原有单图配置的透明度、点大小参数,避免点重叠看不清的问题
  • 新增plt.show()显式调用渲染,适配不同IDE的绘图上下文差异

内容的提问来源于stack exchange,提问作者Hassan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 08:21:02