# Graphs
Plot and manipulate data with Graphs!

![image](https://gitlab.gnome.org/World/Graphs/-/raw/main/data/screenshots/sin_cos.png?ref_type=heads)

Graphs is a simple, yet powerful tool that allows you to plot and manipulate your data with ease. New data can be imported from a wide variety of filetypes, or generated by equation. All data can be manipulated using a variety of operations.
Apart from regular operations, Graphs also has support for curve fitting on the data, allowing you to effortlessly analyze trends within your datasets.
Graphs supports extensive customization options to change the style of the plots. You can add and edit stylesheets in detail, allowing you to quickly save and apply existing stylesheets on new data. 
Graphs is an excellent fit for both plotting and data manipulation. The plots created with Graphs can be saved in a variety of formats suitable for sharing and presenting to a wide audience, such as in a scientific publication or presentations.
It is also possible to save the plots as vector images, which can be easily edited in programs like Inkscape for further customization and refinement. Graphs is written with the GNOME environment in mind, but should be suitable for any other desktop environment as well.

The operations include:
  - Shifting data
  - Normalizing Data
  - Smoothening data
  - Centering Data
  - Cutting Data
  - Combining Data
  - Translating data
  - Derivative and indefinite integral
  - Fourier Transformations
  - Custom transformations
 
For feedback or general issues, please [file an issue](https://gitlab.gnome.org/World/Graphs/-/issues).

## Install Graphs

### Stable
We provide official support for the following Flatpak and Snap packages:

<p>
<a href="https://flathub.org/apps/details/se.sjoerd.Graphs"><img height="62" alt="Download on Flathub" src="https://flathub.org/api/badge?locale=en"/></a>&nbsp;&nbsp;
<a href="https://snapcraft.io/graphs"><img height="60" alt="Get it from the Snap Store" src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg"/></a>
</p> 

### Beta
> The beta branch is used for testing purposes and projects may not be compatible with the stable branch.
> Here be bugs, there be dragons.

The latest testing version of Graphs is available in the Flathub beta channel. To install the beta, first the Flatpak remote needs to be configured:

```sh
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
```

Then, install the application:

```sh
flatpak install flathub-beta se.sjoerd.Graphs
```
To run the beta version by default, the following command can be used:

```sh
sudo flatpak make-current se.sjoerd.Graphs beta
```
Note that the `sudo` is neccesary here, as it sets the current branch on the system level. To install this on a per-user basis, the flag `--user` can be used in the  previous commands. 
To switch back to the stable version simply run the above command replacing `beta` with `stable`.
We are always looking for feedback, so feel free to report any issues or suggestions on the GitLab [issue tracker](https://gitlab.gnome.org/World/Graphs/-/issues).

## Contributing
Checkout [the contributing guide](https://welcome.gnome.org/app/Graphs/) to start contributing translations, code or ideas.

## Code of Conduct
This project follows the [GNOME Code of Conduct](https://conduct.gnome.org/committee/).
