【问题标题】:Modifying x and y axis in histogram MATLAB修改直方图 MATLAB 中的 x 和 y 轴
【发布时间】:2015-05-28 21:08:10
【问题描述】:

所以我在互联网上到处搜索我的问题的答案(尤其是堆栈溢出),但似乎没有人给出直接的答案。

问题是这样的:我想为重复 n 次(由用户定义)的测试制作直方图。每次,程序都会运行一个函数来确定飞机坠毁的概率并给出百分比.x 轴必须是从 1 到 n 的数字,y 轴必须有以 % 为单位的崩溃概率(例如 1st-24%、2nd-67%、...、n-44%)。所以每当我尝试制作直方图时,matlab 都会自行定义必须在 x 和 y 轴上的数字,并且它不会在每个条之间放置空格。如何修改每个轴、间距和标题直方图?我还希望每个条都以数字为中心。

在此先感谢,并为我的英语不好感到抱歉。

【问题讨论】:

    标签: matlab histogram axis


    【解决方案1】:

    您可以使用gca 获取图像的当前坐标轴,然后使用XTickLabel 字段修改标签。或者,您可以使用XTick 在给定数字矩阵的情况下设置标签。例如

    ax = gca
    ax.XTick = 1:n;
    

    将在图像上创建n标签,范围从1n

    使用YTickYTickLabel 可以对y 轴执行相同的操作。以下链接提供了更多详细信息:

    http://www.mathworks.com/help/matlab/creating_plots/change-tick-marks-and-tick-labels-of-graph-1.html

    【讨论】:

    • 非常感谢,但我是在 histogram 命令之前还是之后输入这些?
    • 您在创建映像后执行这些操作。为了将来参考,这将适用于 MATLAB 中的任何类型的图形,而不仅仅是直方图
    • 我按照你说的做了,但是我得到的是没有任何数字的 x 和从 0 到 1 的 y。这是我的代码: hist(percentages,n) ax = gca ax.XTick = 1:n ; ax.YTick = 0:100;
    • set(gca, 'XTick', 1:n) 能代替 ax = gca; ax.XTick = 1:n 工作吗?
    • 不...还是一样的结果