【问题标题】:Matlab scatter plot set x-axis and y-axisMatlab散点图设置x轴和y轴
【发布时间】:2019-07-07 19:32:30
【问题描述】:

我有一个包含两列(日期、值)的数组来绘制

date = [2002 2003 2004 2005 ....] %sometimes 2003 2005 2006 2009 and so on%

value = [918.5345 918.5361 918.5354 ....] 

当我按如下方式绘制散点图时:

subplot(3,1,1);
hold on;
scatter(date,value,'+');
grid on
xlabel('Time') 
ylabel('Y(m)')
hold off

我得到了想要的图表(但坐标轴看起来很奇怪)

我想要的是设置标签以显示 y 轴上的值(例如 918.5345)。

另外,x 轴只是(日期)...(例如 2002 2003 2004 ...)上的值,而不是 2002.5 2003.5

我使用 Matlab R2016a

【问题讨论】:

标签: matlab axis axis-labels axes


【解决方案1】:

在旧版本的 MATLAB 中,获取图的刻度属性的方法是使用 set(gca,'XtickLabel') 函数。这将“获取当前轴”并将 x 轴刻度标签设置为您提供的标签。下面,我将 tag("i") 设置为请求的整数。

     date = [2002 2003 2004 2005]
     value = [918.5345 918.5361 918.5354 918.6354] 

     plot(date, value)

     title('Plot title'); 
     hold on 
     xlabel('X Axis'); 
     ylabel('Y Axis');
     set(gca,'XTick',date) 
     set(gca,'XTickLabel',sprintf('%3.4i|',date))
     set(gca,'YTick',value) 
     set(gca,'YTickLabel',sprintf('%+1.2i|',value))
     hold off

要了解有关设置刻度标签的更多信息,请浏览此处的 MATLAB 文档 Q/A 文档:https://www.mathworks.com/matlabcentral/answers/103188-how-do-i-format-tick-labels-before-r2016b

【讨论】:

  • set(gca,'YTick',value) 对我不起作用,但 xTick 完美。但是,我只想更改 Y 轴上值的格式(例如显示小数点后三位)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-19
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 2013-08-09
  • 1970-01-01
相关资源
最近更新 更多