【问题标题】:How to plot floating values on a graph?如何在图表上绘制浮动值?
【发布时间】:2021-04-06 13:53:57
【问题描述】:

我正在尝试使用 matplotlib/seaborn 绘制 FRED 的经济数据,但值本身是浮点数和 matplotlib 而不是使用范围,实际上只是将所有值用作不同的 y 轴点,例如 .我需要以明显变化的方式来绘制它。我尝试使用 yticks 指定 y 轴范围,但它仍然不起作用。这是我的代码

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

还有其他可行的想法吗? Here 是图表的数据集链接(为了简单起见,请转到编辑图表并将频率更改为年度)

【问题讨论】:

  • 如果y轴是数字,表示时间序列变化。

标签: python matplotlib seaborn


【解决方案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))

【讨论】:

  • 谢谢,我只是假设它们是浮点值,以后我会记住的
猜你喜欢
  • 2012-04-16
  • 1970-01-01
  • 2022-11-03
  • 2011-12-22
  • 1970-01-01
  • 2015-12-16
  • 2021-10-09
  • 1970-01-01
  • 2012-10-04
相关资源
最近更新 更多