MCPcopy Create free account
hub / github.com/GeWu-Lab/AnyTouch2 / make_dataset_pie_plot

Function make_dataset_pie_plot

utils.py:67–90  ·  view source on GitHub ↗
(d, title=None, show=False)

Source from the content-addressed store, hash-verified

65 return default
66
67def make_dataset_pie_plot(d, title=None, show=False):
68 domains = []
69 traj_nums = []
70 for k, v in d.items():
71 domains.append(f"{k} - {v // 1000}K")
72 traj_nums.append(v)
73 domains = np.array(domains)
74 traj_nums = np.array(traj_nums)
75 # sort by number of trajectories
76 idx = np.argsort(traj_nums)[::-1]
77 domains = domains[idx]
78 traj_nums = traj_nums[idx]
79 # draw the dataset mixture as a pie plot
80 fig1, ax1 = plt.subplots(figsize=(28, 10))
81 traj_prob = np.array(traj_nums) / np.sum(traj_nums)
82 patches, _ = ax1.pie(traj_prob, startangle=90)
83 ax1.axis("equal")
84 ax1.legend(patches, domains, loc="center left", bbox_to_anchor=(0.7, 0.5), prop={"size": 25})
85 if title is not None:
86 ax1.set_title(title, fontsize=60)
87 if show:
88 plt.show()
89 fig1.canvas.draw()
90 return Image.frombytes("RGB", fig1.canvas.get_width_height(), fig1.canvas.tostring_rgb())

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected