【发布时间】:2022-01-02 02:36:42
【问题描述】:
假设我正在 matplotlib 中创建关于极坐标投影的散点图。我使用 size 参数将标记大小分配给变量。在结果图中,标记非常小,有些几乎不可见。我还需要一个图例来显示不同大小标记的实际值。所以我需要增加标记大小但不改变图例中的标签(所以 s=3*t 不起作用,因为它改变了图例中的标签)。最好的方法是什么?
fig = plt.figure(figsize=(5,5))
plt.style.use('default')
ax = fig.add_subplot(projection='polar')
c = ax.scatter(r, s, c=c, s=t, cmap='copper')
ax.set_theta_zero_location('N')
ax.set_theta_direction(-1)
plt.legend(*c.legend_elements('sizes', num=3), loc=(1, 0.8))
plt.show()
在本例中,r、s、c 和 t 是简单的一维数组
【问题讨论】:
-
散点图上的标记大小和图例中的标记大小是不是必须要一致,如果不一样不方便可视化?我已将
ax.legend(*c.legend_elements('sizes', num=3), loc=(1, 0.8))添加到example 以确认。 -
是的,图中的标记和图例需要具有相同的大小,这可以通过使用 s=3*t 来更改(在我的示例中)。必要的是在更改标记大小的同时保持图例中的标签与其现在的方式(25、50、75)相同。使用 s=3*t 会更改原始值,从而更改图例中的标签。