首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平心而论:如何调整散点图中标记的大小,使差异变得更加明显?

平心而论:如何调整散点图中标记的大小,使差异变得更加明显?
EN

Stack Overflow用户
提问于 2022-01-27 07:14:18
回答 2查看 1.9K关注 0票数 1

我使用Python:图表:泡泡地图中的库来显示国家的average_score。然而,average_score的值介于2-4之间,因此泡泡图中气泡的大小差别不大(气泡的大小非常相似)。如何在数值2-4的泡泡之间实现更大的差异?

这是我的代码:

代码语言:javascript
复制
plot = px.scatter_geo(df, locations="country_code", color="country_code", size_max=20,hover_name="country_code", size="avg_score", animation_frame="year", projection="natural earth",title="Bubble Map",labels={"country_code": "Country"})
EN

回答 2

Stack Overflow用户

发布于 2022-01-27 09:02:39

我会把你的原始数据提升到一个适合你想要建立的可视化的数字的力量。这使得更大的数字看起来比sall数字大得不成比例。比较下面两幅图,其中第一幅是来自文档文档示例,第二部分是人口df['pop']的相同数据已被df['pop']**1.6替换。

1. df['pop']的原始数据

1. df['pop']的数据提高到1.6的威力

当然,这些数字在图中没有其他业务,因此您必须包括以下内容,以保持正确的漫游信息:

代码语言:javascript
复制
fig.update_traces(hovertemplate = 'pop=%{text}<br>iso_alpha=%{location}<extra></extra>', text = df['pop'])

完整代码:

代码语言:javascript
复制
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
df['pop_display'] = df['pop']**1.6
fig = px.scatter_geo(df, locations="iso_alpha",
                     size="pop_display", 
                     )
fig.update_traces(hovertemplate = 'pop=%{text}<br>iso_alpha=%{location}<extra></extra>', text = df['pop'])
fig.show()
票数 3
EN

Stack Overflow用户

发布于 2022-01-27 07:31:00

你所问的不是一个纯粹的问题,而是一个一般的数学问题。

给定输入2,3,4 step=1。返回步骤> 1的对应整数。有多种方法可以做到这一点:一种方法是将所有项乘以一个整数。

代码语言:javascript
复制
[2,3,4] * 2 = [4, 6, 8] # step=2
[2,3,4] * 3 = [6, 9, 12] # step=3
...

在这种情况下,新值之间的差值将线性增加。这意味着所有值之间的步骤将保持不变。如果您希望逐步以非线性的方式增长,则可以对项目进行平方处理:

代码语言:javascript
复制
[2,3,4]^2  = [4, 9, 16] # step=5, 7...
[2,3,4]^3= [8, 27, 64] # step=19,37...
...

可能性真的是无限的。这完全取决于你想要的泡沫之间的差异。在代码中,快速和肮脏的解决方案如下所示:

代码语言:javascript
复制
plot = px.scatter_geo(df,
                      locations="country_code",
                      color="country_code", 
                      size_max=20,
                      hover_name="country_code",
                      size=df["avg_score"]**2,
                      animation_frame="year",
                      projection="natural earth",
                      title="Bubble Map",
                      labels={"country_code": "Country"}
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70874630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档