You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于ggplot中stat_density_2d绘制求和因子的密度图技术问询

解决你的坐标点偏差计算与可视化问题

我来帮你一步步搞定这个从测试数据提取信息、计算偏差再到可视化的流程,用Python的常用数据分析工具就能轻松实现:

1. 数据加载与关键列筛选

首先把你的数据集加载进来,然后提取需要的X坐标、Y坐标和二元响应这三列。假设你的数据是CSV格式,代码示例如下:

import pandas as pd

# 替换成你的数据集文件路径
df = pd.read_csv("your_test_dataset.csv")

# 提取目标列,这里假设列名为'X_pos', 'Y_pos', 'participant_response',请改成你实际的列名
target_data = df[['X_pos', 'Y_pos', 'participant_response']]

2. 计算每个坐标点的整体偏差

因为同一个(X,Y)坐标被多次测试,我们只需要按坐标分组,对响应值求和就能得到该点的整体偏差:

# 按X、Y坐标分组,对响应列求和
point_bias = target_data.groupby(['X_pos', 'Y_pos'])['participant_response'].sum().reset_index()
# 给求和后的列重命名,方便后续使用
point_bias.rename(columns={'participant_response': 'total_bias'}, inplace=True)

这里的total_bias就是每个点的整体偏差:数值越大,说明参与者对该点的“是”响应越多;数值越小(甚至为负),说明“否”的响应占主导。

3. 可视化展示偏差分布

用散点图把每个坐标点的偏差直观展示出来,用颜色深浅区分偏差大小,一眼就能看出哪些点的响应倾向更明显:

import matplotlib.pyplot as plt

plt.figure(figsize=(10, 8))
# 绘制散点图,颜色映射用冷暖色系,能清晰区分正负偏差
scatter_plot = plt.scatter(point_bias['X_pos'], point_bias['Y_pos'],
                           c=point_bias['total_bias'], cmap='coolwarm',
                           alpha=0.7, s=60)
# 添加颜色条标注偏差含义
plt.colorbar(scatter_plot, label='Total Bias (Sum of "Yes"/"No" Responses)')
plt.xlabel('Image X Coordinate')
plt.ylabel('Image Y Coordinate')
plt.title('Participant Response Bias by Image Position')
plt.grid(True, linestyle='--', alpha=0.5)
plt.show()

如果想更贴合实际场景,你还可以先加载测试用的原图(用plt.imshow()),再把散点图叠加在原图上,这样能直接对应到图像的真实位置。

额外小技巧

要是你想同时查看每个坐标点的测试次数(判断偏差的可信度),可以在结果里加一列:

point_bias['test_times'] = target_data.groupby(['X_pos', 'Y_pos'])['participant_response'].count().values

测试次数越多的点,偏差结果的参考性越强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:20:54