![JAR search and dependency download from the Maven repository](/logo.png)
org.diirt.datasource.sample.graphene.BubbleGraphApp Maven / Gradle / Ivy
/**
* Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.datasource.sample.graphene;
import java.awt.event.MouseEvent;
import org.diirt.graphene.BubbleGraph2DRendererUpdate;
import org.diirt.graphene.InterpolationScheme;
import org.diirt.graphene.ScatterGraph2DRendererUpdate;
import org.diirt.datasource.graphene.ScatterGraph2DExpression;
import static org.diirt.datasource.formula.ExpressionLanguage.*;
import org.diirt.datasource.graphene.BubbleGraph2DExpression;
import static org.diirt.datasource.graphene.ExpressionLanguage.*;
/**
*
* @author carcassi
*/
public class BubbleGraphApp extends BaseGraphApp {
private String xColumn = null;
private String yColumn = null;
private String sizeColumn = null;
private String colorColumn = null;
private boolean highlightFocusValue;
public BubbleGraphApp() {
dataFormulaField.setModel(new javax.swing.DefaultComboBoxModel(
new String[] { "=tableOf(column(\"X\", range(-10,10)), column(\"Y\", 'sim://noiseWaveform'), column(\"SIZE\", 'sim://gaussianWaveform'), column(\"COLOR\", 'sim://sineWaveform'))",
"=tableOf(column(\"X\", range(-10,10)), column(\"Y\", 'sim://noiseWaveform'))",
"=tableOf(column(\"X\", arrayOf(2,3,4,3,2,1,0,1)), column(\"Y\", arrayOf(0,1,2,3,4,3,2,1)), column(\"SIZE\", arrayOf(5,4,3,2,1,2,3,4)), column(\"SIZE\", arrayOf(\"A\",\"A\",\"B\",\"B\",\"B\",\"B\",\"A\",\"A\")))",
"=tableOf(column(\"X\", arrayOf(1,2,3,4,5)), column(\"Y\", arrayOf(3,1,4,2,5)), column(\"NAMES\", arrayOf(\"A\", \"A\", \"A\", \"B\", \"B\")))"}));
}
@Override
protected void onMouseMove(MouseEvent e) {
graph.update(graph.newUpdate().focusPixel(e.getX(), e.getY()));
}
@Override
protected BubbleGraph2DExpression createExpression(String dataFormula) {
BubbleGraph2DExpression plot = bubbleGraphOf(formula(dataFormula),
formulaArg(xColumn),
formulaArg(yColumn),
formulaArg(sizeColumn),
formulaArg(colorColumn));
return plot;
}
@Override
protected void openConfigurationDialog() {
BubbleGraphDialog dialog = new BubbleGraphDialog(new javax.swing.JFrame(), true, this);
dialog.setTitle("Configure...");
dialog.setLocationRelativeTo(this);
dialog.setVisible(true);
}
public boolean isHighlightFocusValue() {
return highlightFocusValue;
}
public void setHighlightFocusValue(boolean highlightFocusValue) {
this.highlightFocusValue = highlightFocusValue;
graph.update(graph.newUpdate().highlightFocusValue(highlightFocusValue));
}
public String getXColumn() {
return xColumn;
}
public void setXColumn(String xColumn) {
this.xColumn = xColumn;
reconnect();
}
public String getYColumn() {
return yColumn;
}
public void setYColumn(String yColumn) {
this.yColumn = yColumn;
reconnect();
}
public String getSizeColumn() {
return sizeColumn;
}
public void setSizeColumn(String sizeColumn) {
this.sizeColumn = sizeColumn;
reconnect();
}
public String getColorColumn() {
return colorColumn;
}
public void setColorColumn(String colorColumn) {
this.colorColumn = colorColumn;
reconnect();
}
public static void main(String[] args) {
main(BubbleGraphApp.class);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy