如何解决 probplot,Matlab 中重叠的刻度标签?
How to resolve the overlapping Ytick labels in probplot, Matlab?
我正在尝试使用 matlab 函数 probplot 绘制对数正态分布。但是当我这样做的时候,我在 yticklabels 中得到了重叠。
我需要那么大的字体大小 (40)。有没有办法通过提供自定义 yticklabels esp 来消除重叠。与 probplot 功能?请注意,probplot 的 yticklabels 并不简单。
请在下面找到测试数据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);
似乎 y 轴上的 labels 不直接是 values那个轴
>> 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
was involved). Therefore, the labels can be obtained from the values using 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
Before(即从您的代码中获得的图):
After(即在上图使用我的代码):
我正在尝试使用 matlab 函数 probplot 绘制对数正态分布。但是当我这样做的时候,我在 yticklabels
我需要那么大的字体大小 (40)。有没有办法通过提供自定义 yticklabels esp 来消除重叠。与 probplot 功能?请注意,probplot 的 yticklabels 并不简单。
请在下面找到测试数据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);
似乎 y 轴上的 labels 不直接是 values那个轴
>> 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
was involved). Therefore, the labels can be obtained from the values using 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
Before(即从您的代码中获得的图):
After(即在上图使用我的代码):