首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-Vega - WARN字段“x”的无限范围:[Infinity,-Infinity]

React-Vega - WARN字段“x”的无限范围:[Infinity,-Infinity]
EN

Stack Overflow用户
提问于 2020-04-30 11:42:24
回答 1查看 2.1K关注 0票数 5

代码在vega在线编辑器中工作得很好。但在react组件中使用时,控制台中会出现警告,并且X轴不会在输出中呈现。

代码语言:javascript
复制
import React from 'react';
import { Vega } from 'react-vega';
import { VisualizationSpec } from 'vega-embed';

export function LineGraph() {
  const specs: VisualizationSpec = {
    $schema: 'https://vega.github.io/schema/vega/v5.json',
    description: 'A basic line chart example.',
    width: 500,
    height: 200,
    padding: 5,

    signals: [],

    data: [
      {
        name: 'table',
        format: {
          parse: { x: 'date' },
        },
      },
    ],

    scales: [
      {
        name: 'x',
        type: 'time',
        range: 'width',
        domain: { data: 'table', field: 'x' },
      },
      {
        name: 'y',
        type: 'linear',
        range: 'height',
        nice: true,
        zero: true,
        domain: { data: 'table', field: 'y' },
      },
    ],

    axes: [
      { orient: 'bottom', scale: 'x' },
      { orient: 'left', scale: 'y' },
    ],

    marks: [
      {
        type: 'line',
        from: { data: 'table' },
        encode: {
          enter: {
            x: { scale: 'x', field: 'x' },
            y: { scale: 'y', field: 'y' },
            stroke: { value: 'red' },
            strokeWidth: { value: 2 },
          },
        },
      },
    ],
  };

  const data: any = {
    table: [
      { x: '01-08-2020', y: 28, c: 0 },
      { x: '01-03-2020', y: 43, c: 0 },
      { x: '01-01-2020', y: 81, c: 0 },
      { x: '01-09-2020', y: 19, c: 0 },
      { x: '01-02-2020', y: 52, c: 0 },
      { x: '01-04-2020', y: 24, c: 0 },
      { x: '01-07-2020', y: 87, c: 0 },
      { x: '01-07-2020', y: 17, c: 0 },
      { x: '01-08-2020', y: 68, c: 0 },
      { x: '01-09-2020', y: 49, c: 0 },
    ],
  };

  const signalListeners = {};
  return (
    <div>
      <Vega data={data} signalListeners={signalListeners} spec={specs} />
    </div>
  );
}

警告:

警告字段“y”的无限范围: Infinity,-Infinity

警告字段“x”的无限范围: Infinity,-Infinity

如何在vega中定义范围?

EN

回答 1

Stack Overflow用户

发布于 2020-05-07 06:45:18

这个错误有两个部分-控制台警告和缺乏渲染。

当数据还没有注入到规范中时,控制台警告会在摘要周期中抛出;这并不理想,但可以忽略AFAIK。

呈现看起来是由于react-vega处理日期解析的方式中存在错误。首先将它们转换为Date objects,然后将修改后的数据传递给Vega组件,而不是以字符串的形式传递date

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61515549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档