Skip to content
Snippets Groups Projects
Select Git revision
  • develop default protected
1 result

XChart

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Tim Molter authored
    b0287f53
    History

    XChart XChart

    XChart is a light weight Java library for plotting data.

    Description

    XChart is a light-weight and convenient library for plotting data designed to go from data to chart in the least amount of time possible and to take the guess-work out of customizing the chart style.

    Usage is very simple: Create a Chart instance, add a series of data to it, and either save it or display it.

    Simplest Example

    
        double[] xData = new double[] { 0.0, 1.0, 2.0 };
        double[] yData = new double[] { 2.0, 1.0, 0.0 };
    
        // Create Chart
        Chart chart = QuickChart.getChart("Sample Chart", "X", "Y", "y(x)", xData, yData);
    
        // Show it
        new SwingWrapper(chart).displayChart();
    
        // Save it
        BitmapEncoder.saveBitmap(chart, "./Sample_Chart", BitmapFormat.PNG);
    
        // or save it in high-res
        BitmapEncoder.saveBitmapWithDPI(chart, "./Sample_Chart_300_DPI", BitmapFormat.PNG, 300);

    Charts can be saved as JPG, PNG, GIF, BMP, EPS, SVG, and PDF.

    Chart Customization

    All the styling options can be found in one of two possible places: 1) the Chart's StyleManager or 2) the series' set methods. With this chart customization design, all customization options can be quickly "discovered" using an IDE's built in "Content Assist". With centralized styling like this, there is no need to hunt around the entire charting API to find that one customization you're looking for - it's all right in one spot!

    Chart Themes

    XChart ships with three different themes: Default XChart, GGPlot2 and Matlab. Using a different theme is as simple as setting the Chart's theme with the theme method of the ChartBuilder.

    Chart chart = new ChartBuilder().width(800).height(600).theme(ChartTheme.Matlab).build();

    Features

    • No required additional dependencies
    • ~100KB Jar
    • Line charts
    • Scatter charts
    • Area charts
    • Bar charts
    • Histogram charts
    • Error bars
    • Logarithmic axes
    • Date and category X-Axis
    • Multiple series
    • Extensive customization
    • Themes - XChart, GGPlot2, Matlab
    • Right-click, Save-As...
    • User-defined axes range
    • Custom legend placement
    • CSV import and export
    • High resolution chart export
    • Export as PNG, JPG, BMP, GIF with custom DPI setting
    • Export SVG, EPS and PDF using optional de.erichseifert.vectorgraphics2d library
    • Real-time charts
    • Java 6 and up

    What's Next?

    Now go ahead and study some more examples, download the thing and provide feedback.

    Getting Started

    Non-Maven

    Download Jar: http://knowm.org/open-source/xchart/xchart-change-log

    Maven

    The XChart release artifacts are hosted on Maven Central.

    Add the XChart library as a dependency to your pom.xml file:

        <dependency>
            <groupId>org.knowm.xchart</groupId>
            <artifactId>xchart</artifactId>
            <version>2.6.0</version>
        </dependency>

    For snapshots, add the following to your pom.xml file:

        <repository>
          <id>sonatype-oss-snapshot</id>
          <snapshots/>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </repository>
    
        <dependency>
          <groupId>org.knowm.xchart</groupId>
          <artifactId>xchart</artifactId>
          <version>2.6.1-SNAPSHOT</version>
        </dependency>

    Snapshots can be manually downloaded from Sonatyope: https://oss.sonatype.org/content/groups/public/com/xeiam/xchart/xchart/

    SBT

    To use XChart with the Scala Build Tool (SBT) add the following to your build.sbt

    libraryDependencies += "org.knowm.xchart" % "xchart" % "2.6.0" exclude("de.erichseifert.vectorgraphics2d", "VectorGraphics2D") withSources()

    (SBT/Ivy does not seem to respect the optional VectorGraphics2D dependency and as it does not exist in Maven Central the build will fail unless it is excluded or available in a local repository.)

    Building

    general

    mvn clean package  
    mvn javadoc:aggregate  

    maven-license-plugin

    mvn license:check
    mvn license:format
    mvn license:remove

    Running Demo

    cd /path/to/xchart-demo/jar/
    java -cp xchart-demo-2.5.1.jar:xchart-2.5.1.jar org.knowm.xchart.demo.XChartDemo

    Bugs

    Please report any bugs or submit feature requests to XChart's Github issue tracker.

    Continuous Integration

    Build Status
    Build History

    Donations

    Donate with Bitcoin: 1JVyTP9v9z54dALuhDTZDQfS6FUjcKjPgZ

    All donations will be used to pay bounties for new features, refactoring, etc. Please consider donating or even posting your own bounties on our Issues Page. Open bounties and bounties paid thus far can be found on knowm's bounties page.

    Release Information

    We will announce new releases on our Twitter page.