我正在尝试生成一条折线图,显示给定时间段内对我的服务器的访问请求的数量。
日志数据如下:
- 2013 年 10 月 5 日
- 2013 年 10 月 5 日
- 2013 年 10 月 5 日
- 2013 年 11 月 5 日
- 2013 年 11 月 5 日
- 2013 年 5 月 14 日
- 2013 年 5 月 14 日
Sp 图表将显示 14/05/13,电子表格中有 2 行。
我如何用折线图来表示这一点。
“D”列保存了我所有的日期。
谢谢
答案1
嗯,您可以用这些数据进行数据透视,或者插入一列来记录每个日期出现的次数。
数据透视表
- 确保有一个列名,然后在字段 D 上创建一个数据透视表(转到“插入”>“数据透视表”> 选择数据,然后单击“确定”)。
将字段拖入“行标签”和“值”中。
然后您可以从数据透视表本身插入折线图。
添加新列
在包含公式的日期右侧添加一列(我假设 D1 包含列名并且数据从单元格 D2 开始):
=COUNTIF(D:D,D2)
为该列命名(例如,访问请求数),并根据两列插入折线图。
答案2
如果需要定期更新这些数据,则可以使用由表格提供的数据透视表。
- 将数据转换为表格(插入>表格)。每当您添加数据时,它都会更新。此外,如果您的数据来自 ODBC 兼容源(例如 SQL Server),您可以让它自动使用当前数据进行更新。
- 在表格中添加一列,名为 Count。然后输入公式
=1
。这将自动为表格中的每个值填充 1。 - 使用您的表作为数据源来创建数据透视表(插入>数据透视表)。
- 像这样格式化你的数据透视表(它将类似于 Jerry 的数据透视表):
- 行标签 = 日期
- 值 = 计数
- 突出显示数据透视表后,创建一个折线图(插入>折线)。这将创建一个数据透视图,该数据透视图将自动随数据透视表更新。
完成此设置后,每次向主数据表添加值时,都可以刷新数据透视表,并且相关的数据透视图也会更新。
答案3
我认为你需要的是阶梯线图根据您的描述。要绘制这种图表,我建议您使用免费的 Funfun Excel 插件,它允许您直接在 Excel 中使用 JavaScript 代码。使用 JavaScript 可以轻松绘制阶梯线图。这是我根据您的示例数据绘制的示例。
基本上,Funfun Excel 插件可让您使用 JavaScript 来处理您存储在电子表格中的数据。话虽如此,您可以使用 HighCharts.js 或 D3.js 等库来绘制图表。在此示例中,我使用了 HighCharts.js。对于您的示例数据,并非每天都有登录次数。如果您没有为没有日志的日期提供数据(0 次登录),您的行将无法正确显示。我在这里所做的是创建一个包含该月所有日期的数组,每个日期将有默认的 0 次登录。然后根据电子表格中的日志,我将它们的日期与预先创建的数组进行比较,并将登录添加到数组中。以下是一些代码。
var dayFirst,
monthFirst,
dayLast,
monthLast;
dayFirst = parseInt(data[1].split('/')[0]);
monthFirst = parseInt(data[1].split('/')[1]) - 1;
dayLast = parseInt(data[data.length-1].split('/')[0]);
monthLast = parseInt(data[data.length-1].split('/')[1]) - 1;
for(var i=monthFirst;i<=monthLast;i++ ){
for(var j=dayFirst;j<=dayLast;j++){
logins.push(
[Date.UTC(2017, i, j),0]
);
}
}
for(var i=1;i<data.length;i++){
var dateThis = data[i];
var year = parseInt(dateThis.split('/')[2]);
var month = parseInt(dateThis.split('/')[1]-1);
var day = parseInt(dateThis.split('/')[0]);
for(var j =0;j<logins.length;j++){
if(logins[j][0]==Date.UTC(year, month, day)){
logins[j][1] += 1;
}
}
}
Funfun 还有一个在线编辑器,您可以在其中探索 JavaScript 代码和结果。您可以在下面的链接中查看我如何制作示例图表的详细信息。
https://www.funfun.io/1/#/edit/5a4e571b1010eb73fe125cd9
一旦您对在线编辑器中的结果感到满意,您就可以使用上面的 URL 轻松地将结果加载到 Excel 中。但当然,首先,您需要通过以下方式将 Funfun 插件添加到 Excel 中:插入 - Office 加载项。下面是一些屏幕截图,展示如何将示例加载到 Excel 中。
披露:我是 Funfun 的开发人员