matlab从txt文件读取数据,再绘制cdf图

发布网友 发布时间:2022-04-23 16:48

我来回答

1个回答

热心网友 时间:2023-07-29 15:36

你说的这个似乎不应该叫cdf图吧?

一般cdf是指累积分布函数(cumulative distribution function),而你要的只是在各区间的分布图。

 

没有文件,无法测试,大致代码如下:

d = load('data.txt')/1000;
hist(d,99)
set(gca,'yticklabel',get(gca,'xtick')/length(d))

追问您好,出现的效果是直方图类型的,能不能变成平滑的线?谢谢!先给你最佳答案吧

追答

1. 能否将纵坐标的百分比只保留个位数,不要后面小数点。

我这里是随便生成数据测试的,纵坐标并没有小数。如果你的有小数,把最后一句改成:

set(gca,'yticklabel',arrayfun(@(t){num2str(t,'%.0f')},get(gca,'ytick')/length(d)*100))

 

2. 能否不要直方图类型的,只要一根平滑的线,且闭合部分不要有颜色,便于多条线对比。

想要平滑曲线,可以把第二句改成:

[n,x]=hist(d,99);
plot(x,n)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com