#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})