диаграмма рассеяния seaborn тип данных x/y тиков переключается (значения с плавающей точкой на int и наоборот)

#floating-point #integer #seaborn #scatter-plot #xticks

Вопрос:

Я использую диаграмму рассеяния сиборна для построения значений «литра» двигателя (с плавающей точкой) против значений «цилиндра» двигателя (целое число).

диаграмма рассеяния сиборна литр против цилиндра

  • Существует три значения «цилиндра» — 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)

Почему это так? И как мне переключить его так, чтобы галочки «литр» были в поплавках, а галочки «цилиндр» — в целых числах.

Комментарии:

1. может catplot быть, это лучший вариант для построения этих данных?

2. Ах, Спасибо. Хотя это и лучше, это все еще разбивает значения цилиндра на десятичные дроби. Есть ли способ контролировать клещей?

Ответ №1:

Не уверен, что вы делаете, но я могу собрать некоторые данные и построить их с помощью:

 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")
 

дает мне:
сюжет

Обратите внимание, что вам также может потребоваться преобразовать данные вашего цилиндра в целые числа, например, с помощью:

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