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
|
||||
List<XYSeries> allSeries = new ArrayList<>();
|
||||
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));
|
||||
allSeries.add(series);
|
||||
}
|
||||
@ -35,10 +35,10 @@ public class CAPlot extends Plot<CADataType, CADataBranch, CAPlotConfiguration>
|
||||
}
|
||||
|
||||
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) {
|
||||
// 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);
|
||||
|
||||
// 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;
|
||||
}
|
||||
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
|
||||
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;
|
||||
}
|
||||
|
||||
protected String formatSampleTooltip(String dataName, double dataX, String unitX, double dataY, String unitY,
|
||||
boolean addYValue) {
|
||||
protected String formatSampleTooltip(String dataName,
|
||||
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);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(String.format("<html>" +
|
||||
"<b><i>%s</i></b><br>", dataName));
|
||||
sb.append("<html>");
|
||||
|
||||
if (addYValue) {
|
||||
sb.append(String.format("Y: %s %s<br>", df_y.format(dataY), unitY));
|
||||
sb.append(String.format("<b><i>%s</i></b><br>", dataName));
|
||||
|
||||
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>" +
|
||||
"</html>", df_x.format(dataX), unitX));
|
||||
|
||||
sb.append("</html>");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
protected String formatSampleTooltip(String dataName, double dataX, String unitX, double dataY, String unitY) {
|
||||
return formatSampleTooltip(dataName, dataX, unitX, dataY, unitY, true);
|
||||
}
|
||||
|
||||
protected String formatSampleTooltip(String dataName, double dataX, String unitX) {
|
||||
return formatSampleTooltip(dataName, dataX, unitX, 0, "", false);
|
||||
protected String formatSampleTooltip(String dataName, String nameX, double dataX, String unitX) {
|
||||
return formatSampleTooltip(dataName, nameX, dataX, unitX, "", Double.NaN, "");
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
XYSeriesCollection collection = data[axisno];
|
||||
for (XYSeries series : (List<XYSeries>)(collection.getSeries())) {
|
||||
Plot.MetadataXYSeries metaSeries = (Plot.MetadataXYSeries) series;
|
||||
for (MetadataXYSeries series : (List<MetadataXYSeries>)(collection.getSeries())) {
|
||||
|
||||
if (metaSeries.getBranchIdx() != branch) {
|
||||
if (series.getBranchIdx() != branch) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int dataTypeIdx = metaSeries.getDataIdx();
|
||||
int dataTypeIdx = series.getDataIdx();
|
||||
FlightDataType type = config.getType(dataTypeIdx);
|
||||
String yName = type.toString();
|
||||
List<Double> range = dataBranch.get(type);
|
||||
@ -319,9 +318,9 @@ public class SimulationPlot extends Plot<FlightDataType, FlightDataBranch, Simul
|
||||
|
||||
// Convert units
|
||||
String unitX = config.getDomainAxisUnit().getUnit();
|
||||
String unitY = metaSeries.getUnit();
|
||||
String unitY = series.getUnit();
|
||||
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,
|
||||
xName, xcoord, unitX,
|
||||
yName, ycoord, unitY);
|
||||
|
Loading…
x
Reference in New Issue
Block a user