python - 使用 Pandas 数据框和 Matplotlib 生成平滑线
问题描述
我正在尝试使用包含时间(以天数衡量)和一组代表社会经济变量的数字的数据集生成一条平滑线。
这是我的数据示例:
date, data
726,1.2414
727,1.2414
728,1.2414
729,1.2414
730,1.2414
731,1.2414
732,1.2414
733,1.2414
734,1.2414
735,1.2414
736,1.2414
737,1.804597701
738,1.804597701
739,1.804597701
740,1.804597701
741,1.804597701
742,1.804597701
743,1.804597701
744,1.804597701
745,1.804597701
746,1.804597701
747,1.804597701
748,1.804597701
749,1.804597701
750,1.804597701
751,1.804597701
752,1.793103448
753,1.793103448
754,1.793103448
755,1.793103448
756,1.793103448
757,1.793103448
758,1.793103448
759,1.793103448
760,1.793103448
761,1.793103448
762,1.793103448
763,1.793103448
764,1
765,1
到目前为止,这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline
out_file = "path_to_file/file.csv"
df = pd.read_csv(out_file)
time = df['date']
data = df['data']
ax1 = plt.subplot2grid((4,3),(0,0), colspan = 2, rowspan = 2) # Will be adding other plots
plt.plot(time, data)
plt.yticks(np.arange(1,5,1)) # Include classes 1-4 showing only 1 step changes
plt.gca().invert_yaxis() # Reverse y axis
plt.ylabel('Trend', fontsize = 8, labelpad = 10)
这会生成以下图:
我看过回答类似问题的帖子(如下面的问题),但似乎无法让我的代码正常工作。谁能提出一个优雅的解决方案?
解决方案
推荐阅读
- python - 使用 Python 的多处理并行化简单函数
- java - 如何计算两个 LocalTime 之间的差异并保存在要保存在银行中的变量中?
- android - Android - 在 ConcatAdapter 上拖放
- angular - 从 Angular 9 升级到 11 会阻止 router.navigate 加载新组件
- python - Scrapy 在文件中保存 200 个带有空项目的状态 url
- go - 如何在golang中制作struct类型的队列
- javascript - 计算对象列表的函数
- spring - 生菜反应连接未建立
- javascript - React 中有没有办法更改道具类型以避免 TypeErrors?
- css - 检查 SASS 函数参数是否是包含一个或多个项目的列表