 |
A high-resolution line survey of IRC+10216 with Herschel/HIFI (A&A 518, L8).
Source code name: "real_life_AA518L8.java"
Programming language: Java
Topic: Physics/Cosmology
DMelt Version 2.2. Last modified: 05/26/2016. License: Pro
https://datamelt.org/code/cache/real_life_AA518L8_8174.java
To run this script using the DMelt IDE,
copy the above URL link to the menu [File]→[Read script from URL] of the DMelt IDE.
import java.awt.Color;
import javax.swing.JFrame;
import org.jplot2d.element.Annotation;
import org.jplot2d.element.AxisPosition;
import org.jplot2d.element.ElementFactory;
import org.jplot2d.element.Axis;
import org.jplot2d.element.Layer;
import org.jplot2d.element.Plot;
import org.jplot2d.sizing.AutoPackSizeMode;
import org.jplot2d.swing.JPlot2DFrame;
import org.jplot2d.transform.TransformType;
import org.jplot2d.util.Range;
/**
* @author Jingjing Li
*
*/
public class real_life_AA518L8 {
/**
* @param args
*/
public static void main(String[] args) {
// ElementFactory
ElementFactory ef = ElementFactory.getInstance();
// Create plot
Plot p = ef.createPlot();
p.setPreferredContentSize(300, 200);
p.setSizeMode(new AutoPackSizeMode());
p.getLegend().setVisible(false);
p.setFontSize(16);
JFrame frame = new JPlot2DFrame(p);
frame.setSize(480, 360);
frame.setVisible(true);
// Axes
Axis xaxis = ef.createAxis();
xaxis.getTitle().setText("r (cm)");
xaxis.getTitle().setFontScale(1);
xaxis.getTickManager().getAxisTransform().setTransform(TransformType.LOGARITHMIC);
xaxis.getTickManager().getAxisTransform().setRange(new Range.Double(5e13, 2.5e17));
Axis xaxisTop = ef.createAxis();
xaxisTop.setPosition(AxisPosition.POSITIVE_SIDE);
xaxisTop.getTitle().setText("r(\u2033)");
xaxisTop.getTitle().setFontScale(1);
xaxisTop.getTickManager().getAxisTransform().setTransform(TransformType.LOGARITHMIC);
xaxisTop.getTickManager().getAxisTransform().setRange(new Range.Double(2.8e-2, 2e2));
xaxisTop.getTickManager().setLabelFormat("%.0m");
Axis yaxisLeft = ef.createAxis();
yaxisLeft.setColor(Color.RED);
yaxisLeft.getTitle().setText("X");
yaxisLeft.getTitle().setFontScale(1);
yaxisLeft.getTickManager().getAxisTransform().setTransform(TransformType.LOGARITHMIC);
yaxisLeft.getTickManager().getAxisTransform().setRange(new Range.Double(3e-10, 7e-7));
Axis yaxisRight = ef.createAxis();
yaxisRight.setColor(Color.BLUE);
yaxisRight.setPosition(AxisPosition.POSITIVE_SIDE);
yaxisRight.getTitle().setText("$\\mathrm{T_K}$");
yaxisRight.getTitle().setFontScale(1);
yaxisRight.getTickManager().getAxisTransform().setTransform(TransformType.LINEAR);
yaxisRight.getTickManager().getAxisTransform().setRange(new Range.Double(0, 1200));
yaxisRight.getTickManager().setTickInterval(500);
p.addXAxis(xaxis);
p.addXAxis(xaxisTop);
p.addYAxis(yaxisLeft);
p.addYAxis(yaxisRight);
// Tk Layer
double[] tkx = new double[] { 1.1e14, 1e15, 1e16, 1e17 };
double[] tky = new double[] { 1200, 360, 80, 0 };
Layer tkl = ef.createLayer(ef.createXYGraph(tkx, tky));
tkl.setColor(Color.BLUE);
Annotation tka = ef.createSymbolAnnotation(5e14, 600, "T$\\mathrm{_K}$");
tka.setColor(Color.BLUE);
tka.setFontScale(1.2f);
tkl.addAnnotation(tka);
p.addLayer(tkl, xaxis, yaxisRight);
// SiC2
double[] scx = new double[] { 5e13, 1e16, 2e16, 7e16, 1e17, 2.1e17 };
double[] scy = new double[] { 2e-7, 2e-7, 5e-7, 2e-7, 5e-8, 3e-10 };
Layer scl = ef.createLayer(ef.createXYGraph(scx, scy));
scl.setColor(Color.RED);
Annotation sca = ef.createSymbolAnnotation(2e16, 1e-7, "SiC$\\mathrm{_2}$");
sca.setColor(Color.RED);
sca.setFontScale(1.2f);
scl.addAnnotation(sca);
p.addLayer(scl, xaxis, yaxisLeft);
// SiC2 LTE
double[] ltex = new double[] { 5e13, 6e13, 9e13, 1.3e14, 2e14, 2.1e14, 2.7e14 };
double[] ltey = new double[] { 5e-8, 3e-7, 1.8e-7, 3e-7, 4e-8, 6e-8, 3e-10 };
Layer ltel = ef.createLayer(ef.createXYGraph(ltex, ltey));
ltel.setColor(Color.GREEN);
Annotation ltea = ef.createSymbolAnnotation(7e13, 3e-9, "SiC$\\mathrm{_2}$\nLTE");
ltea.setColor(Color.GREEN);
ltea.setFontScale(1.2f);
ltel.addAnnotation(ltea);
p.addLayer(ltel, xaxis, yaxisLeft);
}
}
You see the box below because you did not login.