微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

seaborn 散点图 x/y 刻度数据类型被切换浮点值到 int,反之亦然

如何解决seaborn 散点图 x/y 刻度数据类型被切换浮点值到 int,反之亦然

我正在使用 seaborn 散点图来绘制发动机“升”值(浮点数)与发动机“汽缸”值(整数)。

seaborn scatterplot liter vs cylinder

  • 有三个“圆柱体”值 - 4、6 和 8。但是散点图上圆柱体的刻度显示为浮点数 - 4.0、4.5、5.0、5.5、6.0 等(x 轴)
  • “升”值是浮点数 - 1.8、2.5、3.1、4.6 等。但散点图上的刻度显示为整数 - 2、3、4 等(y 轴)

这是为什么?以及如何切换它,以便“升”刻度为浮点数,而“圆柱”刻度为整数。

解决方法

不确定你在做什么,但我可以编造一些数据并用以下方法绘制:

import numpy as np
import pandas as pd
import seaborn as sns

cyl = np.random.choice([4,6,8],30)

data = pd.DataFrame(dict(
    Cylinder=cyl,Liter=np.random.normal(2 + cyl * 0.5,0.2),))

sns.catplot(x='Liter',y='Cylinder',data=data,orient="h")

给了我: plot

请注意,您可能还需要将 Cylinder 数据转换为整数,例如与:

data = data.astype({'Cylinder': int})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。