我正在尝试使用matlab函数probplot绘制对数正态分布。但是当我这样做的时候,我在yticklabels 上出现了重叠。
我需要那么大的字体大小(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);
答案 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
之前(即从您的代码获得的图):
之后(也就是说,在上述情节中使用我的代码):