如何从多个每日csv文件制作每日趋势折线图

时间:2017-01-04 18:40:53

标签: python csv charts line trend

我正在开发一个python程序,可以显示每天创建的多个csv文件的趋势数据。在每个文件中都有两列信息(例子):

Name      |     Downloads
Facebook          42
Myspace            3
Foursquare        12

该信息正在跟踪一组约15个左右的程序以及特定日期下载的次数。我需要编写一个程序,可以获取所有这些csv文件,并创建一个显示增长或下降的图表。该图表将有多条彩色线条,其中一个图例显示每种颜色代表的颜色。该图表将逐日显示,并且线条将根据csv文件的每日总数而上升和下降。我不知道该从哪个方向开始。

编辑以包含一些已完成的工作。我使用Jupyter来运行并显示结果。我想最终结合Bokeh来轻松改变领域。

import -----

glob.glob(directory + '/' + "daily*.csv)
all_data = pd.DataFrame()
for f in glob.glob(directory + '/" + "daily*.csv):
    df = pd.read_csv(f)
    all_data = all_data.append(df,ignore_index=True)

status = pd.read_csv(f)
status
显示

csv

records = pd.read_csv(f)

此处创建一个字典,将所有日常应用分组为all_files = []。之后,我创建了一个条形图,按顺序显示从大多数下载到最少的所有文件。

plt.gcf().subplots_adjust(bottom=0.05)
width = 30
scale = 55
fig, ax = plt.subplots()
plt.bar(range(0, scale*len(top_files[0]), scale), top_files[1], width)
ax.set_xticks([scale*i+width/2 for i in range(scale*len(top_files[0]))])
ax.set_xticklables([app for app in top_files[0]], rotation='vertical')
ax.xaxis.grid(False)
plt.ylabel("Total")
plt.ylim((0,250))
plt.xlim((0, scale*len(top_files[0])))
ax.set_aspect(6)
plt.tight_layout()
plt.show()

所有这些中唯一困难的部分是所有代码所在的计算机没有,也不会连接到互联网。因此,大多数工作必须重复和复制,这就是为什么我跳过一些无聊的部分,如字典和导入。

这也只是我正在使用的一个例子。我已经写了一张热图来显示更多的数据,但最后我还是不知道如何在图表中显示多行。

0 个答案:

没有答案