|
|
@@ -352,7 +352,9 @@ html_content = f"""<!DOCTYPE html>
|
|
|
const bg = getGradient(val, maxVal);
|
|
|
const display = metric === 'uv' ? parseInt(val).toLocaleString() : val.toFixed(4);
|
|
|
const tipMetric = metric === 'uv' ? '' : `${{metricLabels[metric]}}: ${{val.toFixed(4)}} `;
|
|
|
- return `<td style="background:${{bg}}" title="头部: ${{r}} 再分享: ${{c}} ${{tipMetric}}点击UV: ${{cellUv.toLocaleString()}}">${{display}}</td>`;
|
|
|
+ const rowPct = rowUvTotals[r] > 0 ? (cellUv / rowUvTotals[r] * 100).toFixed(1) : '0.0';
|
|
|
+ const colPct = colUvTotals[c] > 0 ? (cellUv / colUvTotals[c] * 100).toFixed(1) : '0.0';
|
|
|
+ return `<td style="background:${{bg}}" title="头部: ${{r}} 再分享: ${{c}} ${{tipMetric}}点击UV: ${{cellUv.toLocaleString()}} 横向占比: ${{rowPct}}% 纵向占比: ${{colPct}}%">${{display}}</td>`;
|
|
|
}}).join('');
|
|
|
return `<tr><td style="cursor:pointer;background:#f5f5f5" onclick="sortByRow('${{r}}')" title="头部品类: ${{r}} 点击UV: ${{rowUvTotals[r].toLocaleString()}}">${{r}}</td>${{cells}}</tr>`;
|
|
|
}}).join('');
|