当前位置: 首页 > 知识库问答 >
问题:

如何更改列表中项目的格式?

花博厚
2023-03-14

我尝试使用谷歌图表,谷歌图表中的数据格式像[新日期(2015,1,1),5],[新日期(2015,1,2),7],[新日期(2015,1,3),3]

function drawChart() {

    var data = new google.visualization.DataTable();
    data.addColumn('date', 'Time of Day');
    data.addColumn('number', 'Rating');

    data.addRows([
      [new Date(2015, 0, 1), 5],  [new Date(2015, 0, 2), 7],  [new Date(2015, 0, 3), 3],
      [new Date(2015, 0, 4), 1],  [new Date(2015, 0, 5), 3],  [new Date(2015, 0, 6), 4],
      [new Date(2015, 0, 7), 3],  [new Date(2015, 0, 8), 4],  [new Date(2015, 0, 9), 2],
      [new Date(2015, 0, 10), 5], [new Date(2015, 0, 11), 8], [new Date(2015, 0, 12), 6],
      [new Date(2015, 0, 13), 3], [new Date(2015, 0, 14), 3], [new Date(2015, 0, 15), 5],
      [new Date(2015, 0, 16), 7], [new Date(2015, 0, 17), 6], [new Date(2015, 0, 18), 6],
      [new Date(2015, 0, 19), 3], [new Date(2015, 0, 20), 1], [new Date(2015, 0, 21), 2],
      [new Date(2015, 0, 22), 4], [new Date(2015, 0, 23), 6], [new Date(2015, 0, 24), 5],
      [new Date(2015, 0, 25), 9], [new Date(2015, 0, 26), 4], [new Date(2015, 0, 27), 9],
      [new Date(2015, 0, 28), 8], [new Date(2015, 0, 29), 6], [new Date(2015, 0, 30), 4],
      [new Date(2015, 0, 31), 6], [new Date(2015, 1, 1), 7],  [new Date(2015, 1, 2), 9]
    ]);
x = ['1/4/2014', '2/4/2014','3/4/2014']
z = [100,200,300]
y=[]
for i in x:
    lastconnection = datetime.strptime(i,"%d/%m/%Y").strftime('%Y,%m,%d')
    y.append((lastconnection))
time = map(lambda x,y:(x,y),y,z)

打印时间输出为:

[('2014,04,01', 100), ('2014,04,02', 200), ('2014,04,03', 300)]

问题是我不知道如何添加'new Date()',并将Date放入括号中不加引号。有什么想法吗??提前谢谢!

共有1个答案

马冯浩
2023-03-14

1)以下是谷歌将接受的唯一日期字符串格式...

"Date(Year, Month, Day, Hours, Minutes, Seconds, Milliseconds)"

例如。

"Date(2017, 4, 3, 7, 31, 49, 0)"  // <-- 05/03/2017 07:31:49

注意:以上字符串的月份必须减一

"Date(2017, 4, 3)"  // <-- 05/03/2017 12:00:00

2)但是,只有在使用json构建DataTable时,google才接受这种格式

这意味着数据不能在一个简单的数组中...

[["Date(2017, 4, 3)", 100]]  // <-- will not work

并且必须按照以下方式格式化...

{
  "cols": [
    {"label": "x", "type": "date"},
    {"label": "z", "type": "number"},
  ],
  "rows": [
    {"c":[{"v": "Date(2017, 4, 3)"}, {"v": 100}]}
  ]
}
google.charts.load('current', {
  callback: function () {
    var formatDate = new google.visualization.DateFormat({
      pattern: 'MM/dd/yyyy hh:mm:ss'
    });

    var jsonStr = '{"cols": [{"label": "Date", "type": "date"}],"rows": [{"c":[{"v": "Date(2017, 4, 3)"}]}]}';

    var data = new google.visualization.DataTable(jsonStr);

    formatDate.format(data, 0);

    var container = document.getElementById('chart_div');
    var chart = new google.visualization.Table(container);
    chart.draw(data);
  },
  packages:['table']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
 类似资料:
  • 我们正在从具有日期的数据库中检索列表。我们希望以不同的格式显示它。假设2014年11月10日。 这是我的密码 跟踪1: 小径2: 但它会带来错误。有什么方法,我们可以使用,以获得所需的日期格式在Laravel? 正常查询:

  • 我需要在单击ListView时更改选定项目的颜色,以便用户知道单击了什么。 到目前为止,我已经为此编写了以下代码: 它所做的是更改所选项目的背景色,并保持原样,直到我单击另一个项目,使其仅更改当前项目所选的背景色 我还想知道是否有一种XML方法可以做到这一点。到目前为止,我发现: 但我还没有得到之前代码的功能。不过,它所做的是更改背景颜色,并在单击时更改背景颜色,但不使用特定的颜色保留选定的项目

  • 问题内容: 我所希望的是能够将列表中项目符号的颜色更改为浅灰色。它默认为黑色,我不知道如何更改它。 我知道我只能使用图像;如果可以的话,我宁愿不这样做。 问题答案: 项目符号从文本中获取颜色。因此,如果您要使用不同于列表中文本颜色的项目符号,则必须添加一些标记。 将列表文本换成跨度: 然后稍微修改您的样式规则:

  • 问题内容: 我有一个下拉列表,列出了字体系列。像Tahoma,Arial,Verdana等。我想根据其代表的值更改每个下拉项的字体系列。就像Photoshop一样。 我更改了每个下拉项的CSS,但仅适用于FireFox。它不能在任何其他浏览器上使用。 我不想使用任何jQuery插件。 问题答案: 这是因为子元素()并非真正可样式化,而Firefox似乎是唯一忽略规范那部分的浏览器。 解决方法是将您

  • 问题内容: 我有一个带有组合框的UI。每次组合将要打开列表时,必须刷新可以选择的项目列表。 有什么办法-即添加一个侦听器,该侦听器将通知UI Combo即将打开? 不幸的是,当列表更改时,我无法观察模型来更新列表。 问题答案: 不幸的是,SWT组件没有这种方法。在Swing中,借助于PopupMenuListener接口将很容易。 我可以想到的一种解决方法是实现MouseListener和Keyb

  • 我想把列表更改为json格式。我该怎么办? Java script部分我无法获得这样的代码部分