Skip to content

Commit b8ab875

Browse files
committed
Merge commit 'ecc859530acccc1aeac4279a84013ac929ffbc00'
2 parents 642aa37 + ecc8595 commit b8ab875

5 files changed

Lines changed: 89 additions & 24 deletions

File tree

.codecov.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
coverage:
2+
precision: 2
3+
round: down
4+
range: "70...100"
5+
ignore:
6+
- "src/detail/third_party"
7+
- "gallery"
8+
- "test"

.github/workflows/ci.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,21 +114,25 @@ jobs:
114114
- name: Install dependencies
115115
uses: ./.github/actions/install-dependencies
116116

117+
- name: Install lcov
118+
run: |
119+
sudo apt-get install -y lcov
120+
117121
- name: Generate coverage report
118122
run: |
119123
xvfb-run -a --server-args="-screen 0 1024x768x24 -ac +extension GLX +render -noreset" make coverage
120124
121-
- name: Upload coverage to Codecov
122-
uses: codecov/codecov-action@v5
123-
with:
124-
token: ${{ secrets.CODECOV_TOKEN }}
125-
files: ./build-coverage/coverage_filtered.info
126-
fail_ci_if_error: true
127-
128125
- name: Upload HTML coverage reports
129126
uses: actions/upload-artifact@v4
130127
with:
131128
name: coverage-report
132129
path: |
133-
build-coverage/coverage_filtered.info
134130
coverage/
131+
build-coverage/coverage_filtered.info
132+
133+
- name: Upload coverage to Codecov
134+
uses: codecov/codecov-action@v5
135+
with:
136+
token: ${{ secrets.CODECOV_TOKEN }}
137+
files: build-coverage/coverage_filtered.info
138+
fail_ci_if_error: true

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ PROJECT_NUMBER = 0.1.0
5454
# for a project that appears at the top of each page and should give viewers a
5555
# quick idea about the purpose of the project. Keep the description short.
5656

57-
PROJECT_BRIEF = "Interactive Data Visualization for Modern C++"
57+
PROJECT_BRIEF = "A C++ plotting library for expressive, interactive, and streaming data visualization"
5858

5959
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
6060
# in the documentation. The maximum height of the logo should not exceed 55

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
<div align="center">
22
<h1>🚀 Plotly.cpp</h1>
3-
<p><strong>Interactive Data Visualization for Modern C++</strong></p>
3+
<p><strong>A C++ plotting library for expressive, interactive, and streaming data visualization</strong></p>
44

55
![Build Status](https://img.shields.io/github/actions/workflow/status/yhisaki/plotly.cpp/ci.yml?branch=main)
6+
[![Documentation](https://img.shields.io/badge/docs-Doxygen-blue.svg)](https://yhisaki.github.io/plotly.cpp/)
7+
[![codecov](https://codecov.io/gh/yhisaki/plotly.cpp/graph/badge.svg?token=NsLJgwCpau)](https://codecov.io/gh/yhisaki/plotly.cpp)
68
![Version](https://img.shields.io/github/v/tag/yhisaki/plotly.cpp?label=version)
79
![License](https://img.shields.io/github/license/yhisaki/plotly.cpp)
810
![C++ Standard](https://img.shields.io/badge/C%2B%2B-17%2B-blue.svg)
@@ -17,6 +19,7 @@
1719

1820
> [!WARNING]
1921
> **This library is currently under active development**
22+
>
2023
> We welcome feedback, bug reports, and contributions to help stabilize the library!
2124
2225
## 📋 Table of Contents
@@ -135,6 +138,8 @@ Plotly.cpp requires the following dependencies:
135138

136139
## 📊 Simple Examples
137140

141+
You can find more details in [documentation](https://yhisaki.github.io/plotly.cpp/examples.html).
142+
138143
### Hello World Example
139144

140145
```cpp
@@ -427,6 +432,8 @@ More complex examples and use cases are available in the [gallery](gallery).
427432

428433
## 🏗️ Architecture Overview
429434

435+
You can find more details in [Architecture Overview](https://yhisaki.github.io/plotly.cpp/architecture.html).
436+
430437
### Key Components
431438

432439
**1. C++ Backend (`plotly::Figure`)**

docs/mainpage.md

Lines changed: 60 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
# Plotly.cpp API Documentation
22

3+
![Build Status](https://img.shields.io/github/actions/workflow/status/yhisaki/plotly.cpp/ci.yml?branch=main)
4+
[![codecov](https://codecov.io/gh/yhisaki/plotly.cpp/graph/badge.svg?token=NsLJgwCpau)](https://codecov.io/gh/yhisaki/plotly.cpp)
5+
![Version](https://img.shields.io/github/v/tag/yhisaki/plotly.cpp?label=version)
6+
![License](https://img.shields.io/github/license/yhisaki/plotly.cpp)
7+
![C++ Standard](https://img.shields.io/badge/C%2B%2B-17%2B-blue.svg)
8+
![Platform](https://img.shields.io/badge/platform-Linux-lightgrey)
9+
310
## Overview
411

5-
**Plotly.cpp** brings the power of [Plotly.js](https://plotly.com/javascript/) to C++. This library provides a modern C++17 interface for creating interactive data visualizations with real-time updates, event handling, and export capabilities.
12+
**Plotly.cpp** brings the power of [Plotly.js](https://plotly.com/javascript/) to C++. This library provides a modern C++ interface for creating interactive data visualizations with real-time updates, event handling, and export capabilities.
613

714
![Plotly.cpp Demo](/docs/images/gallery.png)
815

@@ -24,6 +31,55 @@
2431

2532
![Bidirectional Events](/docs/images/event_handling.gif)
2633

34+
## Installation & Quick Start
35+
36+
### Prerequisites
37+
38+
- **Ubuntu Linux** (tested platform)
39+
- **Chrome/Chromium** browser
40+
- **C++17 or higher**
41+
42+
### Installation
43+
44+
#### Install from deb package (Recommended)
45+
46+
```bash
47+
wget https://github.com/yhisaki/plotly.cpp/releases/download/v0.1.0/libplotly-cpp-0.1.0-Linux.deb
48+
sudo apt install ./libplotly-cpp-0.1.0-Linux.deb
49+
```
50+
51+
#### Install from FetchContent
52+
53+
Add to your CMake project using FetchContent:
54+
55+
```cmake
56+
include(FetchContent)
57+
58+
FetchContent_Declare(
59+
plotly-cpp
60+
GIT_REPOSITORY https://github.com/yhisaki/plotly.cpp.git
61+
GIT_TAG v0.1.0
62+
)
63+
64+
FetchContent_MakeAvailable(plotly-cpp)
65+
```
66+
67+
#### Usage
68+
69+
After installation, add the following to your `CMakeLists.txt`:
70+
71+
```cmake
72+
find_package(plotly-cpp REQUIRED)
73+
74+
target_link_libraries(your_target plotly-cpp::plotly-cpp)
75+
```
76+
77+
#### Dependencies
78+
79+
Plotly.cpp requires the following dependencies:
80+
81+
- [**nlohmann/json**](https://github.com/nlohmann/json) - JSON serialization/deserialization. You can install it by `sudo apt install nlohmann-json3-dev`.
82+
2783
## Architecture
2884

2985
The library uses a **client-server architecture**:
@@ -37,7 +93,9 @@ The library uses a **client-server architecture**:
3793
- Plotly.js runtime for visualization
3894
- Event bridge for user interactions
3995

40-
## Quick Start
96+
You can find more details in [Architecture Overview](architecture.md).
97+
98+
## Simple Example
4199

42100
```cpp
43101
#include "plotly/plotly.hpp"
@@ -81,18 +139,6 @@ int main() {
81139
| @ref plotly::Figure::extendTraces() | [`Plotly.extendTraces()`](https://plotly.com/javascript/plotlyjs-function-reference/#plotlyextendtraces) | Stream real-time data |
82140
| @ref plotly::Figure::on() | [Event listeners](https://plotly.com/javascript/plotlyjs-events/) | Handle user interactions |
83141

84-
## Getting Started
85-
86-
1. **Installation** - See [Installation & Quick Start](https://github.com/yhisaki/plotly.cpp#-installation--quick-start) for installation instructions
87-
2. **API Reference** - Browse the class documentation starting with @ref plotly::Figure or see [Complete API Reference](https://github.com/yhisaki/plotly.cpp#-complete-api-reference)
88-
3. **Examples** - Check the `gallery/` directory for comprehensive examples
89-
90-
## Dependencies
91-
92-
- **C++17 or higher**
93-
- **nlohmann/json** - JSON serialization (auto-fetched if not found)
94-
- **Chrome/Chromium browser** - For visualization frontend
95-
96142
---
97143

98144
For complete examples and advanced usage, visit the [project repository](https://github.com/yhisaki/plotly.cpp).

0 commit comments

Comments
 (0)