【问题标题】:Looking for a data visualization framework [closed]寻找数据可视化框架[关闭]
【发布时间】:2011-12-15 00:57:57
【问题描述】:

(我知道有关于数据可视化的帖子,但没有一个完全回答我的问题。)

我正在寻找一种从数据生成图表的工具。我想要一个能够为我做一些计算的工具,而不仅仅是以一种很好的方式显示数据。

例如,这里是我运行的测试的数据:

{
    "destination" : "30be317c-e586-4448-8fed-1a9481710670",
    "source" : "30be317c-e586-4448-8fed-1a9481710670",
    "userStatus" : "UNDEF",
    "testName" : "VolumeUp",
    "testStatus" : "WORKED",
    "testStart" : 1323378809108,
    "testEnd" : 1323378809108
}, {
    "destination" : "30be317c-e586-4448-8fed-1a9481710670",
    "source" : "30be317c-e586-4448-8fed-1a9481710670",
    "userStatus" : "FAILED",
    "testName" : "VolumeDown",
    "testStatus" : "FAILED",
    "testStart" : 1323378814065,
    "testEnd" : 1323378816077
}

请注意,这目前是 JSON 格式,但如果需要,我可以将其转换为 XML 或将其推送到数据库。

我想要的是一种告诉工具的方法:

创建一个表:

  • 第一栏:"testStatus" : "WORKED"的数量
  • 第二栏:"testStatus" : "FAILED"的数量
  • 第三列:一到二之间的百分比。
  • 行:"testName"
  • 以绿色显示高于 90% 的百分比

计算仍然非常基础。 我进行了一些研究并找到了可以执行此操作的工具(JasperReport、SpagoBI、RapidMiner),但所有这些工具似乎都难以生成像我这样的简单报告。

是否有工具/框架可以帮助我做到这一点? 还是我必须自己进行计算并使用 Google Visualization API 之类的工具来显示输出?

谢谢

【问题讨论】:

    标签: data-visualization business-intelligence


    【解决方案1】:

    我不确定是否理解正确。

    我了解到您有一些 json 格式的数据。您可以将此数据转换为 xml 或加载到数据库。您需要使用特殊计算和/或条件格式来可视化这些数据。

    您可以使用的第一个工具是 Excel。您可以使用 Excel 的内置函数来处理和可视化您的数据。我相信 Excel 足以满足您的要求。

    如果您要使用您的数据设计一个多维数据集,您有 2 个选项。首先,您可以在多维数据集级别进行这些计算,或者您可以使用您用来可视化数据的工具的功能。

    如果你设计一个立方体,你也可以使用 Excel。但如果您需要更高级的工具,我的第一个建议是 TARGIT,因为它易于使用。您还可以使用 QlikView 或 Tableau。对于更高级的解决方案,您可以使用 Microsoft 的 SharePoint 或 OBIEE。

    【讨论】:

      【解决方案2】:

      我会看看像 Sencha (ext-JS) 这样的 JavaScript 库。

      查看他们的文档:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.grid.Panel

      您可以使用 json 格式使用您的数据定义存储。您可以根据每条记录的值向您的商店添加一个字段。如果您需要将该值相对于所有其他值作为百分位数,您可以监听“加载”事件并遍历记录以计算此“高”/“低”值。

      Ext.create('Ext.data.Store', {
        storeId:'myStore',
        fields:['destination', 'source', 'testName', 'testStatus', 'testStart', 'testEnd'],
        data:{'items':[
          // ... your data here
        ]},
        proxy: {
          type: 'memory',
          reader: {
              type: 'json',
              root: 'items'
          }
        }
      });
      

      然后,您可以使用任何内置视图创建数据的网格视图。您可以定义将使用计算值添加类的渲染器。使用简单的 CSS,您可以用不同的颜色为每个类着色。

      Ext.create('Ext.grid.Panel', {
        title: 'My Data',
        store: Ext.data.StoreManager.lookup('myStore'),
        columns: [
          { header: 'Test Name',  dataIndex: 'testName' },
          { header: 'Value', 
             dataIndex: 'calculatedValue', 
             renderer: function(value) {
              return Ext.String.format('<span class="{0}">{1}</span>', value, value);
             } 
          },
          // Other columns
        ],
        height: 200,
        width: 400,
        renderTo: Ext.getBody()
      });
      

      【讨论】:

        【解决方案3】:

        这正是d3js 的亮点所在。那里很少有数据可视化 JS 框架,你可以看看 KendoUIsencha UI 你也可以使用,但就像谷歌图表 API 一样,它们不能帮助你处理复杂的数学。 D3JS 可以。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-02-15
          • 1970-01-01
          • 1970-01-01
          • 2011-06-23
          • 2012-02-15
          • 2012-08-06
          • 2011-09-10
          • 1970-01-01
          相关资源
          最近更新 更多