日付のかけ離れた折れ線グラフを同じx軸上にプロットし、離れている区間は省略してプロットしたい。
Mostrar comentarios más antiguos
日付のかけ離れた折れ線グラフを同じx軸上にプロットし、
離れている区間は省略してプロットしたいのですができますでしょうか?
たとえば添付図のグラフなら01-01-2013~ 12-31-14の2年間離れていますがその箇所を
省略したいです。

スクリプトファイル
% x軸のデータは xData1 xData2 y軸のデータはyData1 yData2
xData1 = linspace(datenum('01-01-2012'),datenum('12-31-2012'),12);
yData1 = [0.67,0.75,0.74,0.39,0.65,0.17,0.70,0.03,0.27,0.04,0.09,0.82];
xData2 = linspace(datenum('01-01-2015'),datenum('12-31-2015'),12);
yData2 = [0.56 ,0.46 ,0.01 ,0.33 ,0.16 ,0.79 ,0.31 ,0.52 ,0.16 ,0.60 ,0.26 ,0.65];
% データを表示
plot(xData1,yData1); hold
plot(xData2,yData2);
datetick('x','yyyy/mmm')
--------------------------------------------------------------------------------------------------
MATLAB バージョン: 8.6.0.267246 (R2015b)
MATLAB ライセンス番号: ****
オペレーティング システム: Microsoft Windows 7 Professional Version 6.1 (Build 7601: Service Pack 1)
Java バージョン: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot™ 64-Bit Server VM mixed mode -------------------------------------------------------------------------------------------------- MATLAB バージョン 8.6 (R2015b) Simulink バージョン 8.6 (R2015b) Embedded Coder バージョン 6.9 (R2015b) MATLAB Coder バージョン 3.0 (R2015b) Signal Processing Toolbox バージョン 7.1 (R2015b) SimMechanics バージョン 4.7 (R2015b) SimPowerSystems バージョン 6.4 (R2015b) Simscape バージョン 3.14 (R2015b) Simulink Coder バージョン 8.9 (R2015b) Stateflow バージョン 8.6 (R2015b)
1 comentario
michio
el 25 de Jul. de 2017
ライセンス番号は念のため削除いたしました。
Respuesta aceptada
Más respuestas (1)
Jiro Doke
el 25 de Jul. de 2017
既存の機能としてはないと思いますのでグラフのカスタマイズをうまく活用するのがよいでしょう。Michio さんの方法も一つですが、他の案として二つ別々の軸を作成して、隣同士に配置するというのはどうでしょう。
% x軸のデータは xData1 xData2 y軸のデータはyData1 yData2
xData1 = linspace(datenum('01-01-2012'),datenum('12-31-2012'),12);
yData1 = [0.67,0.75,0.74,0.39,0.65,0.17,0.70,0.03,0.27,0.04,0.09,0.82];
xData2 = linspace(datenum('01-01-2015'),datenum('12-31-2015'),12);
yData2 = [0.56 ,0.46 ,0.01 ,0.33 ,0.16 ,0.79 ,0.31 ,0.52 ,0.16 ,0.60 ,0.26 ,0.65];
% データを表示
ax1 = axes('Units','normalized','Position',[0.1 0.15 0.4 0.8]);
plot(xData1,yData1,'b')
datetick('x','yyyy/mmm','keepticks')
ax2 = axes('Units','normalized','Position',[0.5 0.15 0.4 0.8]);
plot(xData2,yData2,'r')
datetick('x','yyyy/mmm','keepticks')
ax2.YAxisLocation = 'right'; % 右のグラフは右に Y 軸表示
ax1.XTick = ax1.XTick(1:end-1); % 重なっている目盛りを削除
ax2.XTick = ax2.XTick(2:end); % 重なっている目盛りを削除
% Y 軸表示範囲を統一
yl = [min([ax1.YLim,ax2.YLim]) max([ax1.YLim,ax2.YLim])];
set([ax1 ax2],'XTickLabelRotation',30,'Box','off','YLim',yl)

1 comentario
maeda
el 27 de Jul. de 2017
Categorías
Más información sobre 座標軸の外観 en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!