是否可以在条形图中使两个轴都呈线性?

Is it possible to have both axes linear in bar char?

我想用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 是我需要做的。

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

此外,使用您的屏幕截图示例中的折线图看起来会更好: ...比代码示例中的 bar 类型:

这是我使用的测试代码,基于你的代码:

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,
  }],
}