用Python在海上散点图中设置点的大小 [英] Setting the size of points in scatterplot in Seaborn with Python

查看:13
本文介绍了用Python在海上散点图中设置点的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试根据代表其标签的列的值来设置点的大小,但得到的是空图。

此外,我想知道如何才能统一设置点的大小(即,无论第三列的值是多少)。

有关可重现的示例:

plot_data.to_json()
'{"x1":{"0":-0.2019455769,"1":0.1350610218,"2":-0.1128417956,"3":-0.1481016799,"4":0.1293273221,"5":-0.0266437776,"6":0.0100572041,"7":0.0037355635,"8":-0.0203400136,"9":0.1363267107},"x2":{"0":-0.1938001473,"1":-0.1353617432,"2":-0.0381057072,"3":-0.0874488661,"4":-0.2152329772,"5":0.0275324833,"6":-0.174604808,"7":-0.1872132566,"8":0.1172552524,"9":0.0166454137},"label":{"0":1,"1":0,"2":1,"3":0,"4":0,"5":1,"6":0,"7":0,"8":1,"9":0}}'

plt.figure(figsize = (20, 10))
sns.scatterplot(x ='x1', y='x2', hue = 'label', size = 'label', sizes = {0:1, 1:3} , data = plot_data)
plt.axis('equal')
plt.show()

推荐答案

您的代码非常接近:大小太小,不能很容易地看到这些点。这里使用sizes=(40, 40)编写代码,它使最小和最大大小相同(请参见docs)并提供统一的磅大小:

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

plot_data = pd.read_json('{"x1":{"0":-0.2019455769,"1":0.1350610218,"2":-0.1128417956,"3":-0.1481016799,"4":0.1293273221,"5":-0.0266437776,"6":0.0100572041,"7":0.0037355635,"8":-0.0203400136,"9":0.1363267107},"x2":{"0":-0.1938001473,"1":-0.1353617432,"2":-0.0381057072,"3":-0.0874488661,"4":-0.2152329772,"5":0.0275324833,"6":-0.174604808,"7":-0.1872132566,"8":0.1172552524,"9":0.0166454137},"label":{"0":1,"1":0,"2":1,"3":0,"4":0,"5":1,"6":0,"7":0,"8":1,"9":0}}')

plt.figure(figsize = (10, 5))
sns.scatterplot(x='x1', y='x2', hue='label', size='label', sizes=(40, 40),
  data=plot_data)
plt.axis('equal')
plt.show()

这里的结果:

这篇关于用Python在海上散点图中设置点的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆