如何在海洋散点图图例中适应太大的点大小?

抱歉

我用seaborn创建了一系列气泡图,除了图例外,它看起来还不错: 在此处输入图片说明

我使用以下命令来创建该图:

ax = sns.scatterplot(x='year', y='population', hue='Country', data=temp,
                     size="density", sizes=(1500, 5000), alpha=0.25, palette="muted")

如何从图例中删除“国家/地区”并仅保留密度?文档中没有此类选项。另外,如何估算气泡中的值并使它们更可见?

可运行的代码:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
temp = pd.DataFrame({'year': [1980, 1980, 1980, 1980, 1980], 'population': [2.87,2.95,3.45,4.18,4.67], 'Country': ['ALB','ARM'
,'URY','PAN','CAF'], 'density': [1.0,1.03,1.2,1.46,1.63] })

ax=sns.scatterplot(x='year', y='population', hue='Country', data=temp,size="density", sizes=(500, 1500), alpha=0.25, palette="muted" )    
ax.set_xlim(1950,2030)
for line in temp.index:
    ax.text(temp.year[line], temp.population[line], temp.Country[line], horizontalalignment='center', size='medium', color='black', weight='semibold')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
ax.set_ylabel("")
ax.set_xlabel("")
ax.set_title("Population density in 5 closely populated countries")
约翰·C

ax.get_legend_handles_labels()获取图例的当前句柄和标签。这些只是列表,可以通过切片来缩短。显示尺寸的手柄太大,无法放入图例中。只需获取尺寸,缩放比例并重新设置即可。(请注意,handles[i].get_sizes()返回的列表通常只有一个条目。)

标签只是字符串。如果需要,可以再次创建它们,例如使用不同的格式。要更改显示的位数,可以先将标签转换为浮点,然后再转换为字符串f{float(label):.2f}'(使用f字符串进行格式化)。注意,第一个标签是标题,应该以不同的方式处理。

可选地,可以扩展ylimit,因为默认填充不会考虑大的散点。另外,文本可以垂直居中以更好地适合圆圈。

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

temp = pd.DataFrame({'year': [1980, 1980, 1980, 1980, 1980],
                     'population': [2.87, 2.95, 3.45, 4.18, 4.67],
                     'Country': ['ALB', 'ARM', 'URY', 'PAN', 'CAF'],
                     'density': [1.0, 1.03, 1.2, 1.46, 1.63]})

ax = sns.scatterplot(x='year', y='population', hue='Country', data=temp,
                     size="density", sizes=(500, 1500), alpha=0.25, palette="muted")
ax.set_xlim(1950, 2030)
ylim0, ylim1 = ax.get_ylim()
ydelta = (ylim1 - ylim0) * 0.05
ax.set_ylim(ylim0 - ydelta, ylim1 + ydelta)
for line in temp.index:
    ax.text(temp.year[line], temp.population[line], temp.Country[line], ha='center', va='center', size='medium',
            color='black', weight='semibold')
handles, labels = ax.get_legend_handles_labels()
entries_to_skip = len(temp) + 1
handles = handles[entries_to_skip:]
labels = labels[entries_to_skip:]
for h in handles[1:]:
    sizes = [s / 10 for s in h.get_sizes()]
    h.set_sizes(sizes)
labels = labels[:1] + [f'{float(lab):.2f}' for lab in labels[1:]]
plt.legend(handles, labels, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
ax.set_ylabel("")
ax.set_xlabel("")

plt.tight_layout()
plt.show()

结果图

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在“汽车”包的散点图功能中控制图例框的大小及其元素(例如,文本大小)?

来自分类Dev

如何删除散点图例中的方括号?

来自分类Dev

熊猫Matplotlib:如何更改散点图中图例的形状和大小?

来自分类Dev

为图例中的点设置固定大小

来自分类Dev

如何在ggplot2散点图中更改特定颜色的点大小

来自分类Dev

散点图的Highcharts图例符号大小

来自分类Dev

如何在ggplot图例中显示更多气泡大小?

来自分类Dev

如何在python的Bokeh图例中更改标签的大小?

来自分类Dev

如何在图例中设置文字大小?

来自分类Dev

在MATLAB中,如何在散点图中使用图例和颜色图

来自分类Dev

如何创建一个由kx2散点图组成的海洋情节,并共享所有类别的共享图例

来自分类Dev

如何反转海洋散点图的调色板?

来自分类Dev

在Python中更改图例散点图(气泡图)的图例标记大小

来自分类Dev

如何在分类的彩色散点图中获得图例?

来自分类Dev

如何在散景散点图中显示不同颜色的图例?

来自分类Dev

如何更改Seaborn的散点图函数regplot()的点大小(python)

来自分类Dev

基于 ggplot 2 中因子的颜色和大小的点的散点图

来自分类Dev

如何在图例中添加图例?

来自分类Dev

如何在OSX中调整太大的“打开文件”对话框的大小?

来自分类Dev

如何在同一散点图上使用geom_vline()和geom_hline避免图例中的交叉效果?

来自分类Dev

如何在matplotlib中的散点图中为每个点绘制不同的颜色阴影?

来自分类Dev

python - 如何在python中随机给散点图点仅提供'n'(例如3种)颜色?

来自分类Dev

如何在Swift中以编程方式调整UIButton中文本的字体大小以适应宽度?

来自分类Dev

如何在Magento中的任何图像上使用自适应调整大小?

来自分类Dev

如何在Swift中以编程方式调整UIButton中文本的字体大小以适应高度?

来自分类Dev

如何在Magento中的任何图像上使用自适应调整大小?

来自分类Dev

为什么在海洋情节中设置色调会改变点的大小?

来自分类Dev

图例和线条颜色中的R ggplot散点图控制点

来自分类Dev

图例和线条颜色中的R ggplot散点图控制点

Related 相关文章

  1. 1

    如何在“汽车”包的散点图功能中控制图例框的大小及其元素(例如,文本大小)?

  2. 2

    如何删除散点图例中的方括号?

  3. 3

    熊猫Matplotlib:如何更改散点图中图例的形状和大小?

  4. 4

    为图例中的点设置固定大小

  5. 5

    如何在ggplot2散点图中更改特定颜色的点大小

  6. 6

    散点图的Highcharts图例符号大小

  7. 7

    如何在ggplot图例中显示更多气泡大小?

  8. 8

    如何在python的Bokeh图例中更改标签的大小?

  9. 9

    如何在图例中设置文字大小?

  10. 10

    在MATLAB中,如何在散点图中使用图例和颜色图

  11. 11

    如何创建一个由kx2散点图组成的海洋情节,并共享所有类别的共享图例

  12. 12

    如何反转海洋散点图的调色板?

  13. 13

    在Python中更改图例散点图(气泡图)的图例标记大小

  14. 14

    如何在分类的彩色散点图中获得图例?

  15. 15

    如何在散景散点图中显示不同颜色的图例?

  16. 16

    如何更改Seaborn的散点图函数regplot()的点大小(python)

  17. 17

    基于 ggplot 2 中因子的颜色和大小的点的散点图

  18. 18

    如何在图例中添加图例?

  19. 19

    如何在OSX中调整太大的“打开文件”对话框的大小?

  20. 20

    如何在同一散点图上使用geom_vline()和geom_hline避免图例中的交叉效果?

  21. 21

    如何在matplotlib中的散点图中为每个点绘制不同的颜色阴影?

  22. 22

    python - 如何在python中随机给散点图点仅提供'n'(例如3种)颜色?

  23. 23

    如何在Swift中以编程方式调整UIButton中文本的字体大小以适应宽度?

  24. 24

    如何在Magento中的任何图像上使用自适应调整大小?

  25. 25

    如何在Swift中以编程方式调整UIButton中文本的字体大小以适应高度?

  26. 26

    如何在Magento中的任何图像上使用自适应调整大小?

  27. 27

    为什么在海洋情节中设置色调会改变点的大小?

  28. 28

    图例和线条颜色中的R ggplot散点图控制点

  29. 29

    图例和线条颜色中的R ggplot散点图控制点

热门标签

归档