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

能否制作自定义形状饼图?以州地图轮廓展示选举结果

当然可以制作非圆形的“饼图”(更准确的叫法是自定义形状占比可视化)

这种用州地理轮廓展示选举结果的需求完全能实现,本质就是把自定义的区域形状作为容器,按得票比例用不同颜色填充对应区域——相比普通饼图,它更有地域关联性,观众一眼就能get到“哪部分区域对应哪位候选人的支持率”。

我给你分几种常用的实现方式,你可以根据自己的技术背景选择:

用专业可视化工具(Tableau/Power BI)快速实现

  • 第一步:先拿到该州的地理轮廓矢量文件(一般是.shp格式,公开地理数据平台就能找到免费资源)
  • 第二步:在工具里导入轮廓文件,把它和你的选举得票数据关联起来(比如候选人A占62%,候选人B占38%)
  • 第三步:用“区域填充”功能实现占比展示——要么把州轮廓按比例拆成两个子区域,分别填充候选人的代表色;如果有选区数据的话,直接按选区的支持结果填充,效果会更精准。

用设计工具(Adobe Illustrator)手动精细制作

如果你想做更有设计感的静态图,用AI很合适:

  • 先导入州的轮廓矢量图,复制一份备用
  • 根据得票比例计算分割方式(比如横向6:4分割,就画一条直线把轮廓分成两部分)
  • 用“路径分割”工具把轮廓拆成两个独立路径,分别填充对应颜色,再调整边界细节让它看起来自然,最后导出成图片就行。

用代码实现(Python+Matplotlib)动态/可定制化版本

如果需要批量生成或者做交互效果,用代码更灵活,给你一个简化的思路示例:

import matplotlib.pyplot as plt
from matplotlib.path import Path
from matplotlib.patches import PathPatch
import numpy as np

# 假设你已经获取到州轮廓的坐标点集合(your_state_coords)
state_path = Path(your_state_coords)
# 候选人A的得票比例,比如60%
ratio_a = 0.6

# 生成网格点,判断哪些点在州轮廓内
x_range = np.linspace(min(p[0] for p in your_state_coords), max(p[0] for p in your_state_coords), 1000)
y_range = np.linspace(min(p[1] for p in your_state_coords), max(p[1] for p in your_state_coords), 1000)
x, y = np.meshgrid(x_range, y_range)
points = np.vstack((x.flatten(), y.flatten())).T
inside_state = state_path.contains_points(points).reshape(x.shape)

# 按比例分割区域(这里用纵向分割举例)
split_line = x_range[0] + (x_range[-1] - x_range[0]) * ratio_a
mask_a = inside_state & (x <= split_line)
mask_b = inside_state & (x > split_line)

# 绘制可视化图
plt.figure(figsize=(8, 8))
plt.imshow(mask_a, extent=(x_range[0], x_range[-1], y_range[0], y_range[-1]), cmap='royalblue')
plt.imshow(mask_b, extent=(x_range[0], x_range[-1], y_range[0], y_range[-1]), cmap='crimson', alpha=0.8)
# 添加州轮廓边框
state_border = PathPatch(state_path, facecolor='none', edgecolor='black', linewidth=2)
plt.gca().add_patch(state_border)
plt.axis('off')
plt.show()

这段代码的核心是用蒙版把州轮廓内的区域按比例拆分,再分别填充颜色,你可以根据需求调整分割方式(比如纵向、横向,甚至按选区边界)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:27:03