解决方案可能取决于图例中的标记是否应与原始大小进行比较,或者是否需要独立于原始大小的恒定标记大小。在
A、 缩放标记
您可以使用legend.markerscalercParam。在plt.rcParams["legend.markerscale"] = 0.3
或图例的markerscale参数。在
^{pr2}$
{来自a2}:markerscale : None or int or float
The relative size of legend markers compared with the originally drawn ones. Default is None which will take the value from the legend.markerscale rcParam.
示例:import matplotlib.pyplot as plt
plt.rcParams["legend.markerscale"] = 0.3
plt.scatter([.3,.5], [.3,.6], s=1000, label="label")
plt.scatter([.7,.4], [.3,.6], s=81, marker="^", label="label2")
plt.legend()
plt.show()
请注意,这将同时缩放所有标记。在
B、 设置恒定的标记大小
如果希望图例中的标记大小与散布点的实际大小无关,则解决方案稍微复杂一些。您可以使用图例的handler_map为图例句柄设置所需的标记大小。在impor