About Chandra Archive Proposer Instruments & Calibration Newsletters Data Analysis HelpDesk Calibration Database NASA Archives & Centers Chandra Science Links

Skip the navigation links
Last modified: 10 December 2007

URL: http://cxc.harvard.edu/chips4.0/gallery/bind.sl.html
Hardcopy (PDF): A4 | Letter

Gallery: Sharing an axis between plots (S-Lang)

Examples


Three datasets in separate plots with a common axis

[ChIPS output]
Postscript version
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

[ChIPS output]
Postscript version
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

[ChIPS output]
Postscript version
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

[ChIPS output]
Postscript version
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");
Hardcopy (PDF): A4 | Letter
Last modified: 10 December 2007


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.