Как отобразить плавающие значения на графике?

#python #matplotlib #seaborn

#python #matplotlib #сиборн

Вопрос:

Я пытаюсь отобразить экономические данные Фреда, используя matplotlib / seaborn, но сами значения находятся в плавающих точках, а matplotlib вместо использования диапазона буквально просто использует все значения как отдельные точки оси y, что-то вроде это. Мне нужно отобразить это таким образом, чтобы изменения были очевидны. Я попытался указать диапазон оси y с помощью yticks, но он по-прежнему не работает. Вот мой код

 mort30=pd.read_csv('Dataset/MORTGAGE30US.csv')
mort30['DATE']= pd.DateTimeIndex(mort30['DATE']).years # to get only year values on the x-axis
sns.lineplot(data=mort30, x='DATE', y='MORTGAGE30US')
plt.yticks(np.arange(1,11,step=1))

 

Любые другие идеи, которые могли бы сработать? Вот ссылка на набор данных для графика (PS перейдите к редактированию графика и измените частоту на годовую для простоты)

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

1. Если ось y является числовой, будет представлено изменение временного ряда.

Ответ №1:

Ваши y-данные — это объекты, а не числовые значения. Взгляните на CSV, последняя строка не содержит числа.

 mort30['MORTGAGE30US']

47     4.5446153846153846
48     3.9357692307692308
49     3.1116981132075472
50                      .
Name: MORTGAGE30US, dtype: object
 

Пожалуйста, в следующий раз добавьте работающий пример. Ваш показанный код не работает, он должен быть:

 import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

mort30=pd.read_csv('MORTGAGE30US.csv')
mort30['DATE']= pd.DatetimeIndex(mort30['DATE']).year # to get only year values on the x-axis
sns.lineplot(data=mort30, x='DATE', y='MORTGAGE30US')
plt.yticks(np.arange(1,11,step=1))
 

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

1. Спасибо, я просто предположил, что это будут значения с плавающей запятой, я буду иметь это в виду в будущем