如何在 x 轴上绘制百分比?
How to plot percentage on x-axis?
我设法在 MATLAB 中读取了一个大 excel sheet,对数据进行了排序并绘制了所需数据的图表。我遇到的问题是我试图将 x 轴的值设为百分比。我有一个大约 1000 个整数的变量,它可能会随着我添加数据而增加。我已经分配了一个变量来检查变量的长度,这样我就不必手动更改它。问题是我需要根据 10%、20%... 100% 来分配 x 轴。如何在不减少 y 轴数据的情况下做到这一点?
x轴的代码如下:
A = round(length(data),2,'significant');
d = 0.1*A
e = 0:d:A
f = e/A*100
set(gca,'xticklabel', f)
x 轴显示到 90%。 data
的长度为 16990,因此 A
结果为 17000,d
结果为 1700,变量 f
的值从 0 到 100,但绘图仍在显示到 90%。
下图显示了带有数据的图表,没有为刻度添加限制:
另一方面,当我更改 'ticklabels' 时,它只减少到图表的第一个点。当我将刻度标签转换为 'ticks' 时,图表显示完整,但刻度如下所示:
我要做的是将 18000 转换为 100%。
set(gca,'xticklabel', f)
设置刻度标签。它不会改变图形的任何其他内容。因此,它将不同的标签分配给现有的刻度线。它会使图表的读者感到困惑!
您要做的是更改 'xlim' 属性,它决定了您可以看到的 x 轴部分:
set(gca,'xlim',f([1,end]))
您可能还想自己设置刻度:
set(gca,'xtick', f)
我设法在 MATLAB 中读取了一个大 excel sheet,对数据进行了排序并绘制了所需数据的图表。我遇到的问题是我试图将 x 轴的值设为百分比。我有一个大约 1000 个整数的变量,它可能会随着我添加数据而增加。我已经分配了一个变量来检查变量的长度,这样我就不必手动更改它。问题是我需要根据 10%、20%... 100% 来分配 x 轴。如何在不减少 y 轴数据的情况下做到这一点?
x轴的代码如下:
A = round(length(data),2,'significant');
d = 0.1*A
e = 0:d:A
f = e/A*100
set(gca,'xticklabel', f)
x 轴显示到 90%。 data
的长度为 16990,因此 A
结果为 17000,d
结果为 1700,变量 f
的值从 0 到 100,但绘图仍在显示到 90%。
下图显示了带有数据的图表,没有为刻度添加限制:
另一方面,当我更改 'ticklabels' 时,它只减少到图表的第一个点。当我将刻度标签转换为 'ticks' 时,图表显示完整,但刻度如下所示:
我要做的是将 18000 转换为 100%。
set(gca,'xticklabel', f)
设置刻度标签。它不会改变图形的任何其他内容。因此,它将不同的标签分配给现有的刻度线。它会使图表的读者感到困惑!
您要做的是更改 'xlim' 属性,它决定了您可以看到的 x 轴部分:
set(gca,'xlim',f([1,end]))
您可能还想自己设置刻度:
set(gca,'xtick', f)