在 MATLAB 中绘制具有特定 x 轴范围的条形图

Plot bar chart with specific range of x axis in MATLAB

我想在 MATLAB 中绘制如下所示的条形图。有人知道我应该使用哪个功能吗?非常感谢!

  1. 条形以 x 为单位指定范围(有些可能比其他宽)。
  2. 两个条之间没有线(图中的红叉)。
  3. X 轴为对数刻度。

你为什么不尝试使用 plotsemilogx 函数呢?

x = [0.1 0.18 0.18 0.32 0.32 0.56 0.56 1.0];
y = [30 30 25 25 110 110 80 80];
semilogx(x,y);

如果你想要图中的 x 刻度,你可以将它们设置在轴对象上:

ax = gca;
ax.XTick = unique(x);
ax.XTickLabel = unique(x);