是否可以在bar char中使两个轴均为线性?

时间:2019-07-23 12:19:08

标签: echarts

我想用ECharts创建直方图。我不想用条形图来做到这一点。我的数据是具有其顺序ID和值(频率和幅度)的结构。我必须显示数据,但是当我想要对数类型的X轴时,什么也没显示。如果这完全有可能实现,我会很感兴趣。

这是选项的一部分:

xAxis: {
    type: this.props.options.XaxisMode.value
},
yAxis: {
  type: this.props.options.YaxisMode.value
},
dataset: {
  source: this.data
},
series: [{
    type: 'bar',
    dimensions: [{name: 'Frequency', type: 'int'},{name: 'Amplitude', type: 'number'}],
    large: true
}],

this.data被构造为由[[id,value])之类的项组成的数组

axisMode变量可以设置为所有4种类型。

只需详细说明一下,this是我需要做的。

1 个答案:

答案 0 :(得分:0)

根据我的尝试,使用log轴显示value类型的轴没有问题。只要您的dimensions数组中的series为数据提供正确的类型,就不会有任何问题。如果您需要更改日志库,请将logBase添加到xAxis中(默认值为10)。

使用折线图看起来也更好,如您的屏幕截图示例中所示: Log chart with line series ...比代码示例中的条形: Log chart with bar series

这是我根据您使用的测试代码:

option = {
  xAxis: {
    type: 'log',
    logBase: 10
  },
  yAxis: {
    type: 'value'
  },
  dataset: {
    source: [
      [1, 0.56],
      [2, 0.15],
      [3, 0.24],
      [4, 0.75],
      [5, 0.86],
      [6, 0.21],
      [7, 0.50],
      [8, 0.11],
      [9, 0.85],
      [10, 0.14],
      [20, 0.50],
      [25, 0.15],
      [50, 1.25],
      [80, 0.51],
      [90, 0.15],
      [100, 0.25]
    ]
  },
  series: [{
    type: 'line',
    dimensions: [{
      name: 'Frequency', 
      type: 'int'
    },{
      name: 'Amplitude',
      type: 'number'
    }],
    large: true,
  }],
}