Skip to main content

A desktop application for data analysis and publication-quality graphing.

Project description

Calcite

Calcite is a desktop application designed for scientists, researchers, and students who need to perform data analysis and create publication-quality graphs without writing code. It provides a seamless workflow from data import to final plot export, all within a single, user-friendly interface.

日本語のREADMEはこちら (Japanese README here)

✨ Features

Intuitive Data Handling

  • Versatile Import: Import data from CSV files or paste directly from spreadsheets (e.g., Excel) via the clipboard.
  • Python Integration: Launch the application seamlessly from existing analysis environments by passing a pandas.DataFrame as a direct argument.
  • Interactive Table:
    • Sort data in ascending/descending order with a single click or edit column names with a double click.
    • Export the current state of the data (after filtering or sorting) to a new CSV file.
  • Advanced Data Manipulation:
    • Reshaping: Easily convert data between wide and long formats using a graphical interface.
    • Filtering: A powerful and advanced filtering tool allows for combining multiple conditions using AND/OR logic.
    • Column Calculation: Dynamically create new columns using formulas like 'ColumnA' * 100.

Publication-Quality Graphing

  • Variety of Plot Types: Supports a wide range of plots, including Scatter, Bar, Box, Violin, Point, Line, and Paired Scatter plots.
  • Extensive Customization:
    • Fine-tune every aspect of your plot from the GUI, including colors, markers, line styles, font sizes, axis ranges, and log scales.
    • Apply a "Prism-style" aesthetic by removing the top and right spines of the graph.
    • Overlay individual data points on summary plots like bar charts and box plots.

Comprehensive Statistical Analysis

  • Basic Tests: Independent & Paired t-tests, Mann-Whitney U, Wilcoxon signed-rank.
  • Group Comparisons: One-way ANOVA & Kruskal-Wallis with post-hoc tests (Tukey, Dunn).
  • Regression: Linear and non-linear (4-parameter logistic, 4PL) regression, with R² values displayed on the graph.
  • Correlations & Associations: Spearman's correlation and Chi-squared tests.
  • Automatic Annotations: Automatically adds statistical significance (*) to your plots based on the robust logic of the statannotations library.

e.g. e.g. Owe way anova

High-Resolution Export

  • Save your graphs as PNG, JPEG, SVG, or PDF at 300 DPI, ready for any publication or presentation.

🛠️ Installation

This project is currently under development. The installation method is as follows. Python 3.10 or higher is required.

pip install calcite

🚀 Quick Start

  1. Launch Calcite from your terminal:

    calcite
    

    or

    import pandas as pd
    from calcite.main import plot
    
    data = {
        'Category': ['A', 'A', 'B', 'B'],
        'Value': [10, 12, 15, 17]
    }
    df = pd.DataFrame(data)
    # -----------------------------
    
    plot(data=df)
    
  2. Import data using File > Open CSV... or paste from your clipboard using Edit > Paste.

    • 💡 Tidy Data format (=Long-form) is recommended
    • Calcite is designed around the principles of Tidy Data. This is a data structure where:
      • Each variable forms a column (e.g., "Genotype", "Concentration", "Measurement").
      • Each observation forms a row.
      • Each type of observational unit forms a table.
    • This format is the most suitable for statistical analysis and graphing on a computer. If your data is in a "wide" format (e.g., separate columns for Control Group, Drug A Group, etc.), you can easily convert it to Tidy Data using Calcite's Data > Restructure (Wide to Long)... feature.

    Tidy data (Ref. Seaborn) (https://seaborn.pydata.org/tutorial/data_structure.html) Tidy data

  3. Select a graph type from the toolbar (e.g., Scatter Plot, Bar Chart).

  4. In the "Data" tab at the bottom right, select the columns for the X and Y axes.

  5. Customize the graph's appearance using the "Format," "Text & Legend," and "Axis" tabs.

  6. Perform statistical analysis from the "Analysis" menu.

  7. Save your graph using File > Save Graph As....

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

calcite-0.1.1.tar.gz (89.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

calcite-0.1.1-py3-none-any.whl (61.6 kB view details)

Uploaded Python 3

File details

Details for the file calcite-0.1.1.tar.gz.

File metadata

  • Download URL: calcite-0.1.1.tar.gz
  • Upload date:
  • Size: 89.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for calcite-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ff686c6dbd893186706f9556556e41dd81f480dad90d674bfa64cae66bc1492c
MD5 b9b2b07c2dad3077c17d262108a45bda
BLAKE2b-256 33c3369b0700927a939b09412c3b1457c4af5313b553c85544c6c77576198ea2

See more details on using hashes here.

File details

Details for the file calcite-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: calcite-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 61.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for calcite-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6655571de4a054cbffd8bf5b8ca611861ae884d6b5ba06ea66f8657256c05664
MD5 bc3e45f965f5558796d7335559857bc7
BLAKE2b-256 ed10150db76dc9cf28904c241d801c7fbc7086047b4635fcdf125e2ad2de73d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page