【问题标题】:How to label points on X axis for a plot in Octave/MATLAB?如何在 Octave/MATLAB 中为绘图标记 X 轴上的点?
【发布时间】:2020-05-25 04:04:44
【问题描述】:

我想在 GNU Octave 中绘制如下所示的电子能带结构。

我已经生成了图表(我为 X 轴制作了一个大的 linspace k_values 并具有相应的能量值,但我不确定如何标记 X 轴上的点)。现在我正在这样策划。

plot(k_values,band1,'color','black')
hold on
plot(k_values,band2,'color','red')

像往常一样,它沿 X 轴显示数字。

  1. 如上图,如何去掉X轴的数字并标注某些点(如Gamma、X、Y)?我知道这些点的X坐标对应的值。
  2. 如何在这些点放置垂直网格线?

【问题讨论】:

    标签: matlab plot octave


    【解决方案1】:

    可以用xtick实现。

        plot(k_values,band1,'color','black')
        hold on
        plot(k_values,band2,'color','red')
        set(gca,'xtick',[x1 x2 x3 x4 x5 x6]); %Coordinates of W, Gamma, X, W etc.
        %set(gca, 'xticklabel',({'W','\Gamma','X','W','L', 'Gamma'})); 
        %Note: This did not show Greek Gamma did in Octave 4.4 after printing to a pdf 
        %so see alternate method below
        set(gca, 'xticklabel',({'','','','','','',''}));
    
        text(x1,-12, '$W$', 'fontsize', 30) 
        %Note "$\Gamma$" won't work, and xticklabel cannot recognize \Gamma
        text(x2,-12, '$\Gamma$', 'fontsize', 30)
        text(x3,-12, '$X$', 'fontsize', 30)
        text(x4,-12, '$W$', 'fontsize', 30)
        text(x5,-12, '$L$', 'fontsize', 30)
        text(x6,-12, '$\Gamma$', 'fontsize', 30)
    

    【讨论】:

      猜你喜欢
      • 2014-01-25
      • 2017-07-18
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 2021-11-05
      相关资源
      最近更新 更多