如何用数值表示Matplotlib双色图中的黄色区域并计算相关指标?
双色图区域数值化及统计方法
1. 数值表示黄色区域
Matplotlib双色图的颜色与你的numpy数组数值直接对应,先找出黄色对应的数组值:
import numpy as np # 假设你的数组名为arr,形状(1,128,128,1) unique_vals = np.unique(arr) # 输出的unique_vals包含两个值,对应黄色和紫色,根据你的绘图映射确认黄色对应的数值(示例取第一个值) y_val = unique_vals[0] p_val = unique_vals[1] # 生成黄色区域的数值掩码(1代表黄色,0代表紫色) yellow_mask = (arr == y_val).astype(int)
yellow_mask就是用数值表示的黄色区域,可直接用于后续分析。
2. 像素数量对比
总像素数固定为 128 * 128,直接统计两类区域像素数:
# 展平数组简化计算 arr_flat = arr.flatten() yellow_count = np.sum(arr_flat == y_val) purple_count = 128*128 - yellow_count print(f"黄色像素数:{yellow_count},紫色像素数:{purple_count}")
3. 区域比例计算
# 黄色与紫色区域的比例 yellow_purple_ratio = yellow_count / purple_count # 各区域占总像素的比例 yellow_total_ratio = yellow_count / (128*128) purple_total_ratio = purple_count / (128*128) print(f"黄紫区域比例:{yellow_purple_ratio:.2f}") print(f"黄色区域占比:{yellow_total_ratio:.2%},紫色区域占比:{purple_total_ratio:.2%}")
内容的提问来源于stack exchange,提问作者Kaushik Vezzu
相关产品推荐
相关产品推荐

