如何在x轴上绘制百分比?

时间:2018-04-20 13:22:09

标签: matlab matlab-figure percentage axis-labels

我设法在MATLAB中读取了一个大的excel表,对数据进行了排序并绘制了所需数据的图表。我遇到的问题是我试图将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%。

下图显示了包含数据的图表,但没有添加刻度限制:

https://i.imgur.com/ccMDkzF.png

另一方面,当我更改了'ticklabels'时,它只会缩小到图的第一个点。当我将ticklabels转换为' ticks'时,图表会全部显示,但是滴答如下所示:

https://i.imgur.com/uZPU45S.png

我要做的是将18000转换为100%。

1 个答案:

答案 0 :(得分:0)

set(gca,'xticklabel', f)

设置刻度标签。它不会改变图表的任何其他内容。因此,它为现有的刻度线分配不同的标签。这会让图表的读者感到困惑!

您要做的是更改'xlim'属性,该属性决定了您可以看到的x轴部分:

set(gca,'xlim',f([1,end]))

您可能还想自己设置刻度:

set(gca,'xtick', f)