私はこのようなヘルツスプルング・ラッセル図を作成しようとしています: http://en.wikipedia.org/wiki/File:HRDiagram.png 同じポイントに対して 4 つの異なるタイプのデータがあります (x1、y1 と呼びましょう) 、x2、y2) をすべて同じグラフにまとめて、4 つの軸 (通常どおり下と左に 2 つ、上と右に 2 つ) を表示します。私のコード:
filename = 'Hipparcos_stars2.xlsx';
sheet1 = 1;
xHRcolor = 'G2:G19920';
yHRmag = 'I2:I19920';
xHRtemp = 'J2:J19920';
yHRlum = 'K2:K19920';
HRx_c = xlsread(filename, sheet1, xHRcolor); % x1
HRy_m = xlsread(filename, sheet1, yHRmag); % y1
HRx_t = xlsread(filename, sheet1, xHRtemp); % x2
HRy_l = xlsread(filename, sheet1, yHRlum); % y2
figure(1)
ax1 = gca;
line(HRx_c,HRy_m, 'LineStyle', 'o', 'Color', 'k', 'MarkerSize', 1);
set(ax1,'ydir','reverse');
ax2 = axes('Position',get(ax1,'Position'),...
'XAxisLocation','top',...
'YAxisLocation','right');
line(HRx_t,log10(HRy_l),'LineStyle', 'o','Color','k','MarkerSize', 1,'Parent',ax2);
set(ax2,'xdir','reverse');
xlabel(ax1,'B-V color')
ylabel(ax1,'V Magnitude')
xlabel(ax2,'Temperature [ºK]')
ylabel(ax2,'Luminosity [log(L/Ls)]')
このように、4軸の図になりますが、2番目の軸セットに関する情報が間違っています。問題は、このコードでは、軸の 2 番目のセットをデータに適応させず、選択した任意の点について、x2 と y2 の正しい値を提示しますが、x1 と y1 の値を間違って提示します。ウィキペディアのようなことをする方法のアイデアはありますか? 前もって感謝します
Hipparcos_stars2.xlsx の場合: http://www1.datafilehost.com/d/7d652c04