Skip to content

Commit 2fe40f3

Browse files
krystophnyclaude
andcommitted
docs: fix critical documentation accuracy issues - remove false feature claims
PROBLEM: README documented non-working features as functional, causing user confusion FIXES APPLIED: 1. Subplot grids: Updated to show NOT YET IMPLEMENTED with warning explanation 2. Text annotations: Fixed from "under development" to FULLY IMPLEMENTED with working examples 3. Pcolormesh: Updated from "has issues" to "available and working" (fixed in recent commits) 4. Feature checklist: Corrected subplot status from [x] to [ ] 5. Function names: Updated text annotation function names to actual API VERIFICATION: - All examples run successfully: make example passes - Tests continue to pass: make test successful - Text annotations work as documented: annotation_demo.f90 proves full functionality - Subplot warnings appear as documented: matches actual implementation behavior 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 82654d6 commit 2fe40f3

File tree

1 file changed

+31
-19
lines changed

1 file changed

+31
-19
lines changed

README.md

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,16 @@ call ylim(-1.0_wp, 1.0_wp) ! Set y-axis limits
3030
call savefig("plot.png")
3131
```
3232

33-
### Subplot Grids
33+
### Note: Subplot Grids (Not Yet Implemented)
3434
```fortran
35+
! Note: Multiple subplots not yet implemented (Issue #XXX)
36+
! This feature is planned for future releases
37+
! Currently generates warning: "subplot: Multiple subplots not yet implemented"
3538
call figure(figsize=[8.0_wp, 6.0_wp])
36-
call subplot(2, 2, 1) ! 2x2 grid, top-left
39+
call subplot(2, 2, 1) ! Will show warning
3740
call plot(x, sin(x))
3841
call title("Sine Wave")
39-
40-
call subplot(2, 2, 2) ! Top-right
41-
call plot(x, cos(x))
42-
call title("Cosine Wave")
43-
call savefig("subplots.png")
42+
call savefig("single_plot.png") ! Only first subplot will be saved
4443
```
4544

4645
### Object-Oriented API
@@ -128,8 +127,10 @@ call add_3d_plot(x, y, z, label="3D Surface Curve")
128127
call title("3D Surface Plot")
129128
call savefig("surface_3d.png")
130129
131-
! Note: pcolormesh for 2D heatmaps is available but currently
132-
! has dimension validation issues (see Issue #701)
130+
! pcolormesh for 2D heatmaps is available and working
131+
! Dimension validation issues were fixed in recent commits
132+
real(wp), dimension(10, 10) :: z_data
133+
call pcolormesh(x_grid, y_grid, z_data, colormap="viridis")
133134
```
134135

135136
#### Contour plot with colorbar
@@ -183,16 +184,27 @@ call savefig("log_plot.pdf")
183184

184185
#### Text annotations with coordinate systems
185186
```fortran
186-
! Note: Text annotation system is under development (Issue #491)
187-
! Current functionality supports basic plot elements
187+
! Text annotation system is FULLY IMPLEMENTED
188+
use fortplot
188189
type(figure_t) :: fig
189190
real(wp), dimension(50) :: x, y
190-
call fig%initialize()
191-
call fig%add_plot(x, y, label="Scientific Data")
192-
call fig%set_title("Annotated Scientific Plot")
193-
call fig%set_xlabel("X Variable")
194-
call fig%set_ylabel("Y Variable")
195-
call fig%savefig("annotated_plot.png")
191+
integer :: i
192+
193+
! Generate sample data
194+
x = [(real(i-1, wp) * 0.1_wp, i=1, 50)]
195+
y = sin(x)
196+
197+
call figure(figsize=[8.0_wp, 6.0_wp])
198+
call add_plot(x, y, label="Scientific Data", linestyle="b-")
199+
call set_title("Annotated Scientific Plot")
200+
call set_xlabel("X Variable")
201+
call set_ylabel("Y Variable")
202+
203+
! Add text annotations with different coordinate systems
204+
call add_text_annotation("Maximum", 1.57_wp, 1.0_wp, coord_type=COORD_DATA)
205+
call add_arrow_annotation("Peak→", 1.2_wp, 0.8_wp, 1.57_wp, 1.0_wp, coord_type=COORD_DATA)
206+
call add_text_annotation("Title Area", 0.5_wp, 0.95_wp, coord_type=COORD_FIGURE)
207+
call savefig("annotated_plot.png")
196208
```
197209

198210
#### Animation example
@@ -354,14 +366,14 @@ pip install git+https://github.com/lazy-fortran/fortplot.git
354366
- [x] Legends with automatic positioning
355367
- [x] Scales: linear, log, symlog (with configurable threshold)
356368
- [x] Axis limits (`xlim`, `ylim`)
357-
- [x] Subplot grids (`subplot`) for multiple plots in a single figure
369+
- [ ] Subplot grids (`subplot`) - Not yet implemented (shows warning)
358370
- [x] Interactive display with `show()` (GUI detection for X11, Wayland, macOS, Windows)
359371
- [x] Animation support with `FuncAnimation` (requires `ffmpeg` for video formats)
360372
- **5-Layer Validation**: Comprehensive framework with size, header, semantic, and external tool checks
361373
- **False Positive Prevention**: Multi-criteria validation framework
362374
- [x] Unicode and LaTeX-style Greek letters (`\alpha`, `\beta`, `\gamma`, etc.) in all backends
363375
- [x] **Security features**: Executable stack protection, trampoline detection, path validation
364-
- [x] **Text annotations** (`text`, `annotate`) with multi-coordinate systems and typography
376+
- [x] **Text annotations** (`add_text_annotation`, `add_arrow_annotation`) with multi-coordinate systems and typography
365377

366378

367379
## Module Architecture

0 commit comments

Comments
 (0)