|
|
|
|
Gallery: Sharing an axis between plots (S-Lang)Examples
Three datasets in separate plots with a common axis
variable pref = ChipsPreferences;
pref.curve.symbol.style = "none";
pref.plot.style = "open";
pref.axis.offset.perpendicular = 70;
pref.axis.ticklabel.offset = 10;
set_preferences(pref);
add_window(6.0,3.0);
strip_chart(3);
add_curve("aspect.fits[cols time,ra]");
limits(X_AXIS,AUTO,AUTO);
variable ax = ChipsAxis;
ax.majortick.style = "centered";
ax.minortick.style = "centered";
ax.majortick.length = 8;
ax.minortick.length = 4;
set_xaxis(ax);
variable ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 5.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
set_plot_ylabel("RA");
current_plot("plot2");
add_curve("aspect.fits[cols time,dec]");
ax = ChipsAxis;
ax.majortick.style = "centered";
ax.minortick.style = "centered";
ax.majortick.length = 8;
ax.minortick.length = 4;
set_xaxis(ax);
ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 2.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
set_plot_ylabel("Dec");
current_plot("plot3");
add_curve("aspect.fits[cols time,roll]");
set_plot_xlabel("Time (s)");
set_plot_ylabel("Roll");
set_xaxis({"tickformat","%.0f","offset.perpendicular",45});
ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 5.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
Three datasets in separated plots
set_preference("curve.symbol.style","none");
set_preference("axis.offset.perpendicular","70");
add_window(6.0,3.0);
strip_chart(3,0,5.0e-2);
add_curve("aspect.fits[cols time,ra]");
limits(X_AXIS,AUTO,AUTO);
variable ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 5.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
set_plot_ylabel("RA");
current_plot("plot2");
add_curve("aspect.fits[cols time,dec]");
ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 2.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
set_plot_ylabel("Dec");
current_plot("plot3");
add_curve("aspect.fits[cols time,roll]");
set_plot_xlabel("Time (s)");
set_plot_ylabel("Roll");
set_xaxis({"offset.perpendicular",45,"tickformat","%.0f"});
ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 5.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
Three datasets in separate plots with a hidden X axis
variable pref = ChipsPreferences;
pref.curve.symbol.style = "none";
pref.plot.style = "open";
pref.axis.offset.perpendicular = 30;
pref.plot.leftmargin = 0.15;
pref.plot.rightmargin = 0.15;
set_preferences(pref);
add_window(6.0,3.0);
strip_chart(3);
add_curve("aspect.fits[cols time,ra]");
limits(X_AXIS,AUTO,AUTO);
variable cid = ChipsId;
cid.coord_sys = PLOT_NORM;
add_label(cid,1.05,0.5,"RA");
hide_axis("ax1");
variable ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 5.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
current_plot("plot2");
add_curve("aspect.fits[cols time,dec]");
cid = ChipsId;
cid.coord_sys = PLOT_NORM;
add_label(cid,-0.1,0.5,"Dec");
hide_axis;
display_axis("by2");
variable axis = ChipsAxis;
axis.majortick.mode = "interval";
axis.majortick.interval = 2.0e-3;
axis.tickformat = "%.3f";
set_axis("by2",axis);
set_axis_ticklabel_visible("by2",1);
current_plot("plot3");
add_curve("aspect.fits[cols time,roll]");
set_xaxis({"tickformat","%.0f"});
ay = ChipsAxis;
ay.majortick.mode = "interval";
ay.majortick.interval = 5.0e-3;
ay.tickformat = "%.3f";
set_yaxis(ay);
set_plot_xlabel("Time (s)");
cid = ChipsId;
cid.coord_sys = PLOT_NORM;
add_label(cid,1.05,0.5,"Roll");
A grid where the plots share axes and the plot sizes are different
variable pref = ChipsPreferences;
pref.curve.symbol.style = "none";
pref.plot.leftmargin = 0.25;
pref.plot.rightmargin = 0.1;
pref.plot.bottommargin = 0.1;
pref.axis.offset.perpendicular = 10;
set_preferences(pref);
add_window();
split(2,2);
adjust_grid_xrelsize(1,2.0);
adjust_grid_yrelsize(1,2.0);
add_curve("aspect.fits[cols ra,dec]");
variable ay = ChipsAxis;
ay.majortick.interval = 2.0e-3;
ay.majortick.mode = "interval";
ay.minortick.count = 3;
ay.tickformat = "dec";
set_yaxis(ay);
set_axis_ticklabel_visible("ax1",0);
set_axis("bx2",{"x.label","RA"});
current_plot("plot2");
add_curve("aspect.fits[cols time,dec]");
bind_axes("plot1","ay1","plot2","ay1");
set_axis_ticklabel_visible(0);
set_axis("by2",{"y.label","Dec"});
% Hide both the lower and upper X axes
set_cascading_property("ax1",chips_axis,"visible","0");
set_cascading_property("bx2",chips_axis,"visible","0");
% Add a label above the plot along the X axis
variable cid = ChipsId;
cid.coord_sys = PLOT_NORM;
add_label(cid,0.5,1.05,"Time",{"halign",0.5,"size",14.0});
current_plot("plot3");
add_curve("aspect.fits[cols ra,time]");
bind_axes("plot1","ax1","plot3","ax1");
set_xaxis({"tickformat","ra"});
reverse_axes(X_AXIS);
variable ax = ChipsAxis;
ax.majortick.interval = 1.0e-2;
ax.majortick.mode = "interval";
ax.minortick.count = 3;
set_xaxis(ax);
% Hide both the left and right Y axes
set_cascading_property("ay1",chips_axis,"visible","0");
set_cascading_property("by2",chips_axis,"visible","0");
% Add a label to the left of the plot along the Y axis
cid = ChipsId;
cid.coord_sys = PLOT_NORM;
add_label(cid,-0.1,0.5,"Time",{"halign",0.5,"size",14.0,"angle",90.0});
% Remove the un-used plot created by split
delete_plot("plot4");
|
![]() |
The Chandra X-Ray
Center (CXC) is operated for NASA by the Smithsonian Astrophysical Observatory. 60 Garden Street, Cambridge, MA 02138 USA. Email: cxcweb@head.cfa.harvard.edu Smithsonian Institution, Copyright © 1998-2004. All rights reserved. |