本文整理汇总了Java中com.xeiam.xchart.Chart类的典型用法代码示例。如果您正苦于以下问题:Java Chart类的具体用法?Java Chart怎么用?Java Chart使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Chart类属于com.xeiam.xchart包,在下文中一共展示了Chart类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: frequencyBar
import com.xeiam.xchart.Chart; //导入依赖的package包/类
/**
* Generates a Frequency bar diagram. This variant has no column specified.
* It chooses the last date column and last frequency column in the Table
* object.
*
* @param table
* Table to use
* @return Chart
*/
public static Chart frequencyBar(final Table table) {
// Check if the Table contains a frequency and a date column
Column freqColumn = null;
Column dateColumn = null;
for (Column c : table.getColumns()) {
if (c.isFrequencyColumn()) {
freqColumn = c;
} else if (c.getType() == ValueType.Date) {
dateColumn = c;
}
}
// If both exist, format the frequency map based on these columns.
if (freqColumn != null && dateColumn != null) {
Map<String, Integer> freqMap = formatFrequencyMap(table,
freqColumn.getName(), dateColumn.getName());
return makeBarChart(freqMap, dateColumn.getName());
} else {
// Not good.
throw new RuntimeException(
"Table contains either no frequency column or no date column.");
}
}
示例2: makeBarChart
import com.xeiam.xchart.Chart; //导入依赖的package包/类
/**
* Creates a frequency bar diagram based on the frequency map.
*
* @param freqMap
* frequency map
* @param seriesName
* name of the series
* @return chart
*/
private static Chart makeBarChart(final Map<String, Integer> freqMap,
final String seriesName) {
final int frameWidth = 800;
final int frameHeight = 600;
// Convert input data for processing
ArrayList<String> labels = new ArrayList<String>(freqMap.keySet());
ArrayList<Integer> frequency = new ArrayList<Integer>(freqMap.values());
// Create Chart
Chart chart = new ChartBuilder().chartType(ChartType.Bar)
.width(frameWidth).height(frameHeight).title("Score Histogram")
.xAxisTitle(seriesName).yAxisTitle("Frequency").build();
chart.addSeries(seriesName, new ArrayList<String>(labels),
new ArrayList<Integer>(frequency));
// Customize Chart
chart.getStyleManager().setLegendPosition(LegendPosition.InsideNW);
return chart;
}
示例3: saveGraph
import com.xeiam.xchart.Chart; //导入依赖的package包/类
/**
* Save the chart as pdf.
*
* @param chart
* chart that should be saved.
* @param fileName
* file name under which the chart should be saved.
* @throws IOException
* i/o exception
*/
public static void saveGraph(final Chart chart, final String fileName)
throws IOException {
final int width = (int) PageSize.A4.getWidth();
final int height = (int) PageSize.A4.getHeight();
VectorGraphics2D g = new PDFGraphics2D(0.0, 0.0, width, height);
chart.paint(g, width, height);
// Write the vector graphic output to a file
FileOutputStream file = new FileOutputStream(fileName + ".pdf");
try {
file.write(g.getBytes());
} finally {
file.close();
}
}
示例4: addPDFSeries
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static void addPDFSeries(Chart chart, RealDistribution distribution, String desc, int lowerBound, int upperBound) {
// generates Log data
List<Number> xData = new ArrayList<Number>();
List<Number> yData = new ArrayList<Number>();
int samples = 100;
double stepSize = (upperBound - lowerBound) / (double) samples;
for (double x = lowerBound; x <= upperBound; x += stepSize) {
try {
double density = distribution.density(x);
if (! Double.isInfinite(density) && ! Double.isNaN(density)) {
xData.add(x);
yData.add(density);
}
} catch (Exception e) {
// ignore
// some distributions may reject certain values depending on the parameter settings
}
}
Series series = chart.addSeries(desc, xData, yData);
series.setMarker(SeriesMarker.NONE);
series.setLineStyle(new BasicStroke(1.2f));
}
示例5: addCDFSeries
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static void addCDFSeries(Chart chart, RealDistribution distribution, String desc, int lowerBound, int upperBound) {
// generates Log data
List<Number> xData = new ArrayList<Number>();
List<Number> yData = new ArrayList<Number>();
int samples = 100;
double stepSize = (upperBound - lowerBound) / (double) samples;
for (double x = lowerBound; x <= upperBound; x += stepSize) {
double density = distribution.cumulativeProbability(x);
if (! Double.isInfinite(density) && ! Double.isNaN(density)) {
xData.add(x);
yData.add(density);
}
}
Series series = chart.addSeries(desc, xData, yData);
series.setMarker(SeriesMarker.NONE);
series.setLineStyle(new BasicStroke(1.2f));
}
示例6: createChart
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static Chart createChart(String title, int minX, int maxX, LegendPosition position) {
Chart chart = new ChartBuilder().width(235).height(200).build();
// Customize Chart
chart.setChartTitle(title);
chart.getStyleManager().setChartTitleVisible(true);
chart.getStyleManager().setChartTitleFont(new Font("Arial", Font.PLAIN, 10));
chart.getStyleManager().setLegendPosition(position);
chart.getStyleManager().setLegendVisible(true);
chart.getStyleManager().setLegendFont(new Font("Arial", Font.PLAIN, 10));
chart.getStyleManager().setLegendPadding(6);
chart.getStyleManager().setLegendSeriesLineLength(6);
chart.getStyleManager().setAxisTickLabelsFont(new Font("Arial", Font.PLAIN, 9));
chart.getStyleManager().setXAxisMin(minX);
chart.getStyleManager().setXAxisMax(maxX);
chart.getStyleManager().setChartBackgroundColor(Color.white);
chart.getStyleManager().setChartPadding(4);
chart.getStyleManager().setChartType(ChartType.Line);
return chart;
}
示例7: createChart
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static Chart createChart(String title, int width, int height,
LegendPosition position, boolean legendVisible) {
Chart chart = new ChartBuilder().width(width).height(height).build();
// Customize Chart
chart.setChartTitle(title);
chart.getStyleManager().setChartTitleVisible(true);
chart.getStyleManager().setChartTitleFont(new Font("Arial", Font.PLAIN, 12));
chart.getStyleManager().setLegendPosition(position);
chart.getStyleManager().setLegendVisible(legendVisible);
chart.getStyleManager().setLegendFont(new Font("Arial", Font.PLAIN, 12));
chart.getStyleManager().setLegendPadding(6);
chart.getStyleManager().setLegendSeriesLineLength(10);
chart.getStyleManager().setAxisTickLabelsFont(new Font("Arial", Font.PLAIN, 10));
chart.getStyleManager().setChartBackgroundColor(Color.white);
chart.getStyleManager().setChartPadding(4);
chart.getStyleManager().setChartType(ChartType.Line);
return chart;
}
示例8: createChart
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static Chart createChart(String title, LegendPosition position) {
Chart chart = new ChartBuilder().width(650).height(450).build();
// Customize Chart
chart.setChartTitle(title);
chart.getStyleManager().setChartTitleVisible(true);
chart.getStyleManager().setChartTitleFont(new Font("Arial", Font.PLAIN, 12));
chart.getStyleManager().setLegendPosition(position);
chart.getStyleManager().setLegendVisible(true);
chart.getStyleManager().setLegendFont(new Font("Arial", Font.PLAIN, 12));
chart.getStyleManager().setLegendPadding(6);
chart.getStyleManager().setLegendSeriesLineLength(10);
chart.getStyleManager().setAxisTickLabelsFont(new Font("Arial", Font.PLAIN, 10));
chart.getStyleManager().setChartBackgroundColor(Color.white);
chart.getStyleManager().setChartPadding(4);
chart.getStyleManager().setChartType(ChartType.Line);
return chart;
}
示例9: createWeeklySubmissionChart
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static Chart createWeeklySubmissionChart( SortedMap<Date,Integer> input, boolean bar) {
SortedMap<Date,Integer> filledIn = Util.fillInMissing(input, new WeekIncrementer(), 0);
List<Date> weeks = new ArrayList<Date>();
List<Number> submissionCounts = new ArrayList<Number>();
for (Date date : filledIn.keySet()) {
weeks.add(date);
submissionCounts.add(filledIn.get(date));
}
// Create Chart
ChartBuilder chartBuilder = new ChartBuilder().
width(1000).height(300).
xAxisTitle("Week").yAxisTitle("Submission Count").
theme(ChartTheme.GGPlot2);
if (bar) chartBuilder = chartBuilder.chartType(ChartType.Bar);
Chart chart = chartBuilder.build();
chart.addSeries("Submission Count", weeks, submissionCounts);
return chart;
}
示例10: createComponent
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static JComponent createComponent() {
JComponent container = new JPanel();
container.setLayout(new BoxLayout(container, BoxLayout.LINE_AXIS));
Chart chart1 = createChart("Voltage", 550, 450, LegendPosition.InsideNE, true);
Chart chart2 = createChart("Error Covariance", 450, 450, LegendPosition.InsideNE, false);
constantVoltageTest(chart1, chart2);
container.add(new XChartPanel(chart1));
container.add(new XChartPanel(chart2));
container.setBorder(BorderFactory.createLineBorder(Color.black, 1));
return container;
}
示例11: addPDFSeries
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static void addPDFSeries(Chart chart, IntegerDistribution distribution, String desc, int lowerBound, int upperBound) {
// generates Log data
List<Number> xData = new ArrayList<Number>();
List<Number> yData = new ArrayList<Number>();
for (int x = lowerBound; x <= upperBound; x += 1) {
try {
double probability = distribution.probability(x);
if (! Double.isInfinite(probability) && ! Double.isNaN(probability)) {
xData.add(x);
yData.add(probability);
}
} catch (Exception e) {
// ignore
// some distributions may reject certain values depending on the parameter settings
}
}
Series series = chart.addSeries(desc, xData, yData);
series.setMarker(SeriesMarker.NONE);
series.setLineStyle(new BasicStroke(1.2f));
}
示例12: addCDFSeries
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static void addCDFSeries(Chart chart, IntegerDistribution distribution, String desc,
int lowerBound, int upperBound) {
// generates Log data
List<Number> xData = new ArrayList<Number>();
List<Number> yData = new ArrayList<Number>();
for (int x = lowerBound; x <= upperBound; x += 1) {
double density = distribution.cumulativeProbability(x);
if (! Double.isInfinite(density) && ! Double.isNaN(density)) {
xData.add(x);
yData.add(density);
}
}
Series series = chart.addSeries(desc, xData, yData);
series.setMarker(SeriesMarker.NONE);
series.setLineStyle(new BasicStroke(1.2f));
}
示例13: getContainer
import com.xeiam.xchart.Chart; //导入依赖的package包/类
/**
* Container for chart.
*
* @param chart
* chart
* @return Container
*/
public static Container getContainer(final Chart chart) {
// Wrap the chart in a JFrame and hide the frame
JFrame frame = new SwingWrapper(chart).displayChart();
frame.addWindowListener(new HideWindowAdapter());
return frame.getContentPane();
}
示例14: createComponent
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static JComponent createComponent() {
JComponent container = new JPanel();
container.setLayout(new BoxLayout(container, BoxLayout.PAGE_AXIS));
Chart chart = createChart("Cannonball", LegendPosition.InsideNE);
cannonballTest(chart);
container.add(new XChartPanel(chart));
container.setBorder(BorderFactory.createLineBorder(Color.black, 1));
return container;
}
示例15: createWeeklySubmissionPlot
import com.xeiam.xchart.Chart; //导入依赖的package包/类
public static File createWeeklySubmissionPlot(String evalId, SortedMap<Date,Integer> input, boolean bar) throws IOException {
Chart chart = createWeeklySubmissionChart(input, bar);
String tempDir = System.getProperty("java.io.tmpdir");
File file = new File(tempDir, "weeklySubmissions_"+evalId+(bar?"_bar":"")+".jpg");
BitmapEncoder.saveJPG(chart, file.getAbsolutePath(), 0.95f);
return file;
}