Skip to content

Commit a5605ae

Browse files
authored
Merge pull request #420 from novedevo/fix-spelling-grammar
Fix spelling and grammar in README.md
2 parents e5060e5 + af12ccf commit a5605ae

File tree

3 files changed

+73
-77
lines changed

3 files changed

+73
-77
lines changed

README.md

Lines changed: 38 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Plotters - A Rust drawing library focus on data plotting for both WASM and native applications 🦀📈🚀
1+
# Plotters - A Rust drawing library focusing on data plotting for both WASM and native applications 🦀📈🚀
22

33
<a href="https://crates.io/crates/plotters">
44
<img style="display: inline!important" src="https://img.shields.io/crates/v/plotters.svg"></img>
@@ -13,14 +13,14 @@
1313
<img style="display: inline! important" src="https://img.shields.io/badge/docs-development-lightgrey.svg"></img>
1414
</a>
1515

16-
Plotters is drawing library designed for rendering figures, plots, and charts, in pure rust. Plotters supports various types of back-ends,
16+
Plotters is a drawing library designed for rendering figures, plots, and charts, in pure Rust. Plotters supports various types of back-ends,
1717
including bitmap, vector graph, piston window, GTK/Cairo and WebAssembly.
1818

19-
- A new Plotters Developer's Guide is working in progress. The preview version is available at [here](https://plotters-rs.github.io/book).
20-
- To try Plotters with interactive Jupyter notebook, or view [here](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html) for the static HTML version.
19+
- A new Plotters Developer's Guide is a work in progress. The preview version is available [here](https://plotters-rs.github.io/book).
20+
- Try Plotters with an interactive Jupyter notebook, or view [here](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html) for the static HTML version.
2121
- To view the WASM example, go to this [link](https://plotters-rs.github.io/wasm-demo/www/index.html)
22-
- Currently we have all the internal code ready for console plotting, but a console based backend is still not ready. See [this example](https://github.com/38/plotters/blob/master/examples/console.rs) for how to plotting on Console with a customized backend.
23-
- Plotters now moved all backend code to sperate repositories, check [FAQ list](#faq-list) for details
22+
- Currently we have all the internal code ready for console plotting, but a console based backend is still not ready. See [this example](https://github.com/38/plotters/blob/master/examples/console.rs) for how to plot on console with a customized backend.
23+
- Plotters has moved all backend code to separate repositories, check [FAQ list](#faq-list) for details
2424
- Some interesting [demo projects](#demo-projects) are available, feel free to try them out.
2525

2626
## Gallery
@@ -140,8 +140,8 @@ To view the source code for each example, please click on the example image.
140140
* [Plotting in Rust](#plotting-in-rust)
141141
* [Plotting on HTML5 canvas with WASM Backend](#plotting-on-html5-canvas-with-wasm-backend)
142142
* [What types of figure are supported?](#what-types-of-figure-are-supported)
143-
* [Concepts by examples](#concepts-by-examples)
144-
+ [Drawing Back-ends](#drawing-back-ends)
143+
* [Concepts by example](#concepts-by-examples)
144+
+ [Drawing Backends](#drawing-backends)
145145
+ [Drawing Area](#drawing-area)
146146
+ [Elements](#elements)
147147
+ [Composable Elements](#composable-elements)
@@ -206,7 +206,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
206206

207207
## Demo Projects
208208

209-
To learn how to use Plotters in different scenarios by checking out the following demo projects:
209+
To learn how to use Plotters in different scenarios, check out the following demo projects:
210210

211211
- WebAssembly + Plotters: [plotters-wasm-demo](https://github.com/plotters-rs/plotters-wasm-demo)
212212
- minifb + Plotters: [plotters-minifb-demo](https://github.com/plotters-rs/plotters-minifb-demo)
@@ -215,7 +215,7 @@ To learn how to use Plotters in different scenarios by checking out the followin
215215

216216
## Trying with Jupyter evcxr Kernel Interactively
217217

218-
Plotters now supports integrate with `evcxr` and is able to interactively drawing plots in Jupyter Notebook.
218+
Plotters now supports integration with `evcxr` and is able to interactively drawing plots in Jupyter Notebook.
219219
The feature `evcxr` should be enabled when including Plotters to Jupyter Notebook.
220220

221221
The following code shows a minimal example of this.
@@ -256,7 +256,7 @@ figure
256256

257257
## Interactive Tutorial with Jupyter Notebook
258258

259-
*This tutorial is now working in progress and isn't complete*
259+
*This tutorial is a work in progress and isn't complete*
260260

261261
Thanks to the evcxr, now we have an interactive tutorial for Plotters!
262262
To use the interactive notebook, you must have Jupyter and evcxr installed on your computer.
@@ -266,37 +266,37 @@ After that, you should be able to start your Jupyter server locally and load the
266266

267267
```bash
268268
git clone https://github.com/38/plotters-doc-data
269-
cd plotteres-doc-data
269+
cd plotters-doc-data
270270
jupyter notebook
271271
```
272272

273273
And select the notebook called `evcxr-jupyter-integration.ipynb`.
274274

275-
Also, there's a static HTML version of this notebook available at the [this location](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html)
275+
Also, there's a static HTML version of this notebook available at [this location](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html)
276276

277277
## Plotting in Rust
278278

279-
Rust is a perfect language for data visualization. Although there are many mature visualization libraries in many different languages.
280-
But Rust is one of the best languages fits the need.
279+
Rust is a perfect language for data visualization. Although there are many mature visualization libraries in many different languages,
280+
Rust is one of the best languages fits the need.
281281

282282
* **Easy to use** Rust has a very good iterator system built into the standard library. With the help of iterators,
283-
Plotting in Rust can be as easy as most of the high-level programming languages. The Rust based plotting library
283+
plotting in Rust can be as easy as most of the high-level programming languages. The Rust based plotting library
284284
can be very easy to use.
285285

286-
* **Fast** If you need rendering a figure with trillions of data points,
287-
Rust is a good choice. Rust's performance allows you to combine data processing step
286+
* **Fast** If you need to render a figure with trillions of data points,
287+
Rust is a good choice. Rust's performance allows you to combine the data processing step
288288
and rendering step into a single application. When plotting in high-level programming languages,
289289
e.g. Javascript or Python, data points must be down-sampled before feeding into the plotting
290290
program because of the performance considerations. Rust is fast enough to do the data processing and visualization
291291
within a single program. You can also integrate the
292-
figure rendering code into your application handling a huge amount of data and visualize it in real-time.
292+
figure rendering code into your application to handle a huge amount of data and visualize it in real-time.
293293

294-
* **WebAssembly Support** Rust is one of few the language with the best WASM support. Plotting in Rust could be
295-
very useful for visualization on a web page and would have a huge performance improvement comparing to Javascript.
294+
* **WebAssembly Support** Rust is one of the languages with the best WASM support. Plotting in Rust could be
295+
very useful for visualization on a web page and would have a huge performance improvement compared to Javascript.
296296

297297
## Plotting on HTML5 canvas with WASM Backend
298298

299-
Plotters currently supports backend that uses the HTML5 canvas. To use the WASM support, you can simply use
299+
Plotters currently supports a backend that uses the HTML5 canvas. To use WASM support, you can simply use
300300
`CanvasBackend` instead of other backend and all other API remains the same!
301301

302302
There's a small demo for Plotters + WASM available at [here](https://github.com/plotters-rs/plotters-wasm-demo).
@@ -308,15 +308,15 @@ To play with the deployed version, follow this [link](https://plotters-rs.github
308308
Plotters is not limited to any specific type of figure.
309309
You can create your own types of figures easily with the Plotters API.
310310

311-
But Plotters provides some builtin figure types for convenience.
311+
Plotters does provide some built-in figure types for convenience.
312312
Currently, we support line series, point series, candlestick series, and histogram.
313313
And the library is designed to be able to render multiple figure into a single image.
314314
But Plotter is aimed to be a platform that is fully extendable to support any other types of figure.
315315

316316
## Concepts by examples
317317

318-
### Drawing Back-ends
319-
Plotters can use different drawing back-ends, including SVG, BitMap, and even real-time rendering. For example, a bitmap drawing backend.
318+
### Drawing Backends
319+
Plotters can use different drawing backends, including SVG, BitMap, and even real-time rendering. For example, a bitmap drawing backend.
320320

321321
```rust
322322
use plotters::prelude::*;
@@ -335,10 +335,10 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
335335

336336
### Drawing Area
337337
Plotters uses a concept called drawing area for layout purpose.
338-
Plotters support multiple integrating into a single image.
338+
Plotters supports integrating multiple figures into a single image.
339339
This is done by creating sub-drawing-areas.
340340

341-
Besides that, the drawing area also allows the customized coordinate system, by doing so, the coordinate mapping is done by the drawing area automatically.
341+
Besides that, the drawing area also allows customized coordinate system, by doing so, the coordinate mapping is done by the drawing area automatically.
342342

343343
```rust
344344
use plotters::prelude::*;
@@ -360,7 +360,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
360360

361361
### Elements
362362

363-
In Plotters, elements are build blocks of figures. All elements are able to draw on a drawing area.
363+
In Plotters, elements are the building blocks of figures. All elements are able to be drawn on a drawing area.
364364
There are different types of built-in elements, like lines, texts, circles, etc.
365365
You can also define your own element in the application code.
366366

@@ -388,9 +388,9 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
388388

389389
### Composable Elements
390390

391-
Besides the built-in elements, elements can be composed into a logic group we called composed elements.
391+
Besides the built-in elements, elements can be composed into a logical group we called composed elements.
392392
When composing new elements, the upper-left corner is given in the target coordinate, and a new pixel-based
393-
coordinate which has the upper-left corner defined as `(0,0)` is used for further element composition purpose.
393+
coordinate which has the upper-left corner defined as `(0,0)` is used for further element composition.
394394

395395
For example, we can have an element which includes a dot and its coordinate.
396396

@@ -431,7 +431,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
431431

432432
### Chart Context
433433

434-
In order to draw a chart, Plotters need a data object built on top of the drawing area called `ChartContext`.
434+
In order to draw a chart, Plotters needs a data object built on top of the drawing area called `ChartContext`.
435435
The chart context defines even higher level constructs compare to the drawing area.
436436
For example, you can define the label areas, meshes, and put a data series onto the drawing area with the help
437437
of the chart context object.
@@ -442,7 +442,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
442442
let root = BitMapBackend::new("plotters-doc-data/5.png", (640, 480)).into_drawing_area();
443443
root.fill(&WHITE);
444444
let root = root.margin(10, 10, 10, 10);
445-
// After this point, we should be able to draw construct a chart context
445+
// After this point, we should be able to construct a chart context
446446
let mut chart = ChartBuilder::on(&root)
447447
// Set the caption of the chart
448448
.caption("This is our first plot", ("sans-serif", 40).into_font())
@@ -523,13 +523,13 @@ Use `default_features = false` to disable those default enabled features,
523523
and then you should be able to cherry-pick what features you want to include into `Plotters` crate.
524524
By doing so, you can minimize the number of dependencies down to only `itertools` and compile time is less than 6s.
525525

526-
The following list is a complete list of features that can be opt in and out.
526+
The following list is a complete list of features that can be opted in or out.
527527

528528
- Tier 1 drawing backends
529529

530530
| Name | Description | Additional Dependency |Default?|
531531
|---------|--------------|--------|------------|
532-
| bitmap\_encoder | Allow `BitMapBackend` save the result to bitmap files | image, rusttype, font-kit | Yes |
532+
| bitmap\_encoder | Allow `BitMapBackend` to save the result to bitmap files | image, rusttype, font-kit | Yes |
533533
| svg\_backend | Enable `SVGBackend` Support | None | Yes |
534534
| bitmap\_gif| Opt-in GIF animation Rendering support for `BitMapBackend`, implies `bitmap` enabled | gif | Yes |
535535

@@ -604,7 +604,7 @@ pub fn register_font(
604604

605605
* How to draw text/circle/point/rectangle/... on the top of chart ?
606606

607-
As you may realized, Plotters is a drawing library rather than a traditional data plotting library,
607+
As you may have realized, Plotters is a drawing library rather than a traditional data plotting library,
608608
you have the freedom to draw anything you want on the drawing area.
609609
Use `DrawingArea::draw` to draw any element on the drawing area.
610610

@@ -618,13 +618,11 @@ pub fn register_font(
618618
- [HTML5 Canvas Backend](https://github.com/plotters-rs/plotters-canvas.git)
619619
- [GTK/Cairo Backend](https://github.com/plotters-rs/plotters-cairo.git)
620620

621-
* How to check if a backend writes file successfully ?
621+
* How to check if a backend writes to a file successfully ?
622622

623-
The behavior of Plotters backend is consistent with standard library.
624-
When the backend instance is being dropped, [`crate::drawing::DrawingArea::present()`] or `Backend::present()` is called automatically
623+
The behavior of Plotters backend is consistent with the standard library.
624+
When the backend instance is dropped, [`crate::drawing::DrawingArea::present()`] or `Backend::present()` is called automatically
625625
whenever is needed. When the `present()` method is called from `drop`, any error will be silently ignored.
626626

627627
In the case that error handling is important, you need manually call the `present()` method before the backend gets dropped.
628628
For more information, please see the examples.
629-
630-

doc-template/examples/chart.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
33
let root = BitMapBackend::new("plotters-doc-data/5.png", (640, 480)).into_drawing_area();
44
root.fill(&WHITE);
55
let root = root.margin(10, 10, 10, 10);
6-
// After this point, we should be able to draw construct a chart context
6+
// After this point, we should be able to construct a chart context
77
let mut chart = ChartBuilder::on(&root)
88
// Set the caption of the chart
99
.caption("This is our first plot", ("sans-serif", 40).into_font())

0 commit comments

Comments
 (0)