如何解决Probplot中重叠的Ytick标签,Matlab?

时间:2019-09-22 20:40:08

标签: matlab matlab-figure

我正在尝试使用matlab函数probplot绘制对数正态分布。但是当我这样做的时候,我在yticklabels enter image description here上出现了重叠。

我需要那么大的字体大小(40)。有没有一种方法可以通过提供自定义yticklabels esp来消除重叠。与probplot功能?请注意,probplot的yticklabel并不简单。

请在以下link

中找到测试数据

代码如下:

TestData=importdata('TestData.txt');

h1=probplot('lognormal',TestData,'noref');
set(h1(1),'marker','d','color','b','markersize',8,'markerfacecolor','b');
set(gca,'fontsize',40);

1 个答案:

答案 0 :(得分:3)

y 轴上的标签似乎不直接是该轴上的

>> get(gca, 'ytick')
ans =
   -3.7190   -1.6449   -1.2816   -0.6745         0    0.6745    1.2816 ...

但是

>> normcdf(get(gca, 'ytick'))
ans =
    0.0001    0.0500    0.1000    0.2500    0.5000    0.7500    0.9000 ...    

(数字-1.2816表示涉及normcdf)。因此,可以使用norminv从值中获取标签。例如,

>> norminv(.0001)
ans =
   -3.7190

因此,要指定一组所需值,请在创建绘图后使用它:

desired_values = [.0001 .005 .05 .25 .75 .95 .995 .9999];
set(gca, 'ytick', norminv(desired_values), 'yticklabels', desired_values);

示例

让我们

TestData = exp(randn(1,1e5)); % example data

之前(即从您的代码获得的图):

enter image description here

之后(也就是说,在上述情节中使用我的代码):

enter image description here