Put data names in sample tooltips instead of x and y
This commit is contained in:
parent
a1eb7fa0c4
commit
37c1bcb590
@ -26,7 +26,7 @@ public class CAPlot extends Plot<CADataType, CADataBranch, CAPlotConfiguration>
|
|||||||
// Create the series for each component
|
// Create the series for each component
|
||||||
List<XYSeries> allSeries = new ArrayList<>();
|
List<XYSeries> allSeries = new ArrayList<>();
|
||||||
for (int i = 0; i < components.size(); i++) {
|
for (int i = 0; i < components.size(); i++) {
|
||||||
XYSeries series = createSingleSeries(startIndex*1000 + i, type, unit, branch, branchIdx, branchName, baseName,
|
XYSeries series = createSingleSeries(startIndex*1000 + i, type, unit, branch, branchIdx, branchName, dataIndex, baseName,
|
||||||
components.get(i), componentNames.get(i));
|
components.get(i), componentNames.get(i));
|
||||||
allSeries.add(series);
|
allSeries.add(series);
|
||||||
}
|
}
|
||||||
@ -35,10 +35,10 @@ public class CAPlot extends Plot<CADataType, CADataBranch, CAPlotConfiguration>
|
|||||||
}
|
}
|
||||||
|
|
||||||
private XYSeries createSingleSeries(int key, CADataType type, Unit unit,
|
private XYSeries createSingleSeries(int key, CADataType type, Unit unit,
|
||||||
CADataBranch branch, int branchIdx, String branchName, String baseName,
|
CADataBranch branch, int branchIdx, String branchName, int dataIndex, String baseName,
|
||||||
RocketComponent component, String componentName) {
|
RocketComponent component, String componentName) {
|
||||||
// Default implementation for regular DataBranch
|
// Default implementation for regular DataBranch
|
||||||
MetadataXYSeries series = new MetadataXYSeries(key, false, true, branchIdx, unit.getUnit(),
|
MetadataXYSeries series = new MetadataXYSeries(key, false, true, branchIdx, dataIndex, unit.getUnit(),
|
||||||
branchName, baseName);
|
branchName, baseName);
|
||||||
|
|
||||||
// Create a new description that includes the component name
|
// Create a new description that includes the component name
|
||||||
|
@ -202,16 +202,24 @@ public abstract class Plot<T extends DataType, B extends DataBranch<T>, C extend
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
MetadataXYSeries ser = (MetadataXYSeries) collection.getSeries(series);
|
MetadataXYSeries ser = (MetadataXYSeries) collection.getSeries(series);
|
||||||
String unitY = ser.getUnit();
|
|
||||||
String unitX = domainUnit.getUnit();
|
|
||||||
|
|
||||||
double dataY = dataset.getYValue(series, item);
|
|
||||||
double dataX = dataset.getXValue(series, item);
|
|
||||||
|
|
||||||
// Determine the appropriate name based on the time and series
|
// Determine the appropriate name based on the time and series
|
||||||
String name = getNameBasedOnIdxAndSeries(ser, item);
|
String name = getNameBasedOnIdxAndSeries(ser, item);
|
||||||
|
|
||||||
return formatSampleTooltip(name, dataX, unitX, dataY, unitY);
|
int dataTypeIdx = ser.getDataIdx();
|
||||||
|
DataType type = config.getType(dataTypeIdx);
|
||||||
|
|
||||||
|
String nameX = config.getDomainAxisType().getName();
|
||||||
|
String unitX = domainUnit.getUnit();
|
||||||
|
double dataX = dataset.getXValue(series, item);
|
||||||
|
|
||||||
|
String nameY = type.toString();
|
||||||
|
double dataY = dataset.getYValue(series, item);
|
||||||
|
String unitY = ser.getUnit();
|
||||||
|
|
||||||
|
return formatSampleTooltip(name,
|
||||||
|
nameX, dataX, unitX,
|
||||||
|
nameY, dataY, unitY);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -297,32 +305,33 @@ public abstract class Plot<T extends DataType, B extends DataBranch<T>, C extend
|
|||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String formatSampleTooltip(String dataName, double dataX, String unitX, double dataY, String unitY,
|
protected String formatSampleTooltip(String dataName,
|
||||||
boolean addYValue) {
|
String nameX, double dataX, String unitX,
|
||||||
|
String nameY, double dataY, String unitY) {
|
||||||
|
|
||||||
DecimalFormat df_y = DecimalFormatter.df(dataY, 2, false);
|
final String strFormat = "%s: %s %s<br>";
|
||||||
|
|
||||||
DecimalFormat df_x = DecimalFormatter.df(dataX, 2, false);
|
DecimalFormat df_x = DecimalFormatter.df(dataX, 2, false);
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append(String.format("<html>" +
|
sb.append("<html>");
|
||||||
"<b><i>%s</i></b><br>", dataName));
|
|
||||||
|
|
||||||
if (addYValue) {
|
sb.append(String.format("<b><i>%s</i></b><br>", dataName));
|
||||||
sb.append(String.format("Y: %s %s<br>", df_y.format(dataY), unitY));
|
|
||||||
|
sb.append(String.format(strFormat, nameX, df_x.format(dataX), unitX));
|
||||||
|
|
||||||
|
if (!Double.isNaN(dataY)) {
|
||||||
|
DecimalFormat df_y = DecimalFormatter.df(dataY, 2, false);
|
||||||
|
sb.append(String.format(strFormat, nameY, df_y.format(dataY), unitY));
|
||||||
}
|
}
|
||||||
|
|
||||||
sb.append(String.format("X: %s %s<br>" +
|
sb.append("</html>");
|
||||||
"</html>", df_x.format(dataX), unitX));
|
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String formatSampleTooltip(String dataName, double dataX, String unitX, double dataY, String unitY) {
|
protected String formatSampleTooltip(String dataName, String nameX, double dataX, String unitX) {
|
||||||
return formatSampleTooltip(dataName, dataX, unitX, dataY, unitY, true);
|
return formatSampleTooltip(dataName, nameX, dataX, unitX, "", Double.NaN, "");
|
||||||
}
|
|
||||||
|
|
||||||
protected String formatSampleTooltip(String dataName, double dataX, String unitX) {
|
|
||||||
return formatSampleTooltip(dataName, dataX, unitX, 0, "", false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static class LegendItems implements LegendItemSource {
|
protected static class LegendItems implements LegendItemSource {
|
||||||
|
@ -282,14 +282,13 @@ public class SimulationPlot extends Plot<FlightDataType, FlightDataBranch, Simul
|
|||||||
double intercept = (maxThis * minLeft - maxLeft * minThis)/(maxThis - minThis);
|
double intercept = (maxThis * minLeft - maxLeft * minThis)/(maxThis - minThis);
|
||||||
|
|
||||||
XYSeriesCollection collection = data[axisno];
|
XYSeriesCollection collection = data[axisno];
|
||||||
for (XYSeries series : (List<XYSeries>)(collection.getSeries())) {
|
for (MetadataXYSeries series : (List<MetadataXYSeries>)(collection.getSeries())) {
|
||||||
Plot.MetadataXYSeries metaSeries = (Plot.MetadataXYSeries) series;
|
|
||||||
|
|
||||||
if (metaSeries.getBranchIdx() != branch) {
|
if (series.getBranchIdx() != branch) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int dataTypeIdx = metaSeries.getDataIdx();
|
int dataTypeIdx = series.getDataIdx();
|
||||||
FlightDataType type = config.getType(dataTypeIdx);
|
FlightDataType type = config.getType(dataTypeIdx);
|
||||||
String yName = type.toString();
|
String yName = type.toString();
|
||||||
List<Double> range = dataBranch.get(type);
|
List<Double> range = dataBranch.get(type);
|
||||||
@ -319,9 +318,9 @@ public class SimulationPlot extends Plot<FlightDataType, FlightDataBranch, Simul
|
|||||||
|
|
||||||
// Convert units
|
// Convert units
|
||||||
String unitX = config.getDomainAxisUnit().getUnit();
|
String unitX = config.getDomainAxisUnit().getUnit();
|
||||||
String unitY = metaSeries.getUnit();
|
String unitY = series.getUnit();
|
||||||
String unitT = FlightDataType.TYPE_TIME.getUnitGroup().getDefaultUnit().toString();
|
String unitT = FlightDataType.TYPE_TIME.getUnitGroup().getDefaultUnit().toString();
|
||||||
String tooltipText = formatEventTooltip(getNameBasedOnIdxAndSeries(metaSeries, sampleIdx), events,
|
String tooltipText = formatEventTooltip(getNameBasedOnIdxAndSeries(series, sampleIdx), events,
|
||||||
tName, t, unitT,
|
tName, t, unitT,
|
||||||
xName, xcoord, unitX,
|
xName, xcoord, unitX,
|
||||||
yName, ycoord, unitY);
|
yName, ycoord, unitY);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user