Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change urls #5014

Merged
merged 2 commits into from
Nov 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/src/GraphRecipes/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ using Plots, GraphRecipes; gr()
Plots.Commons.reset_defaults()
```
# GraphRecipes
[GraphRecipes](https://github.com/JuliaPlots/GraphRecipes.jl) is a collection of recipes for visualizing graphs. Users specify a graph through an adjacency matrix, an adjacency list, or an `AbstractGraph` via [Graphs](https://github.com/JuliaGraphs/Graphs.jl). GraphRecipes will then use a layout algorithm to produce a visualization of the graph that the user passed.
[GraphRecipes](https://github.com/JuliaPlots/Plots.jl/tree/v2/GraphRecipes) is a collection of recipes for visualizing graphs. Users specify a graph through an adjacency matrix, an adjacency list, or an `AbstractGraph` via [Graphs](https://github.com/JuliaGraphs/Graphs.jl). GraphRecipes will then use a layout algorithm to produce a visualization of the graph that the user passed.

## Installation
GraphRecipes can be installed with the package manager:
Expand Down
2 changes: 1 addition & 1 deletion docs/src/RecipesBase/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ RecipesBase is a lightweight Package without dependencies that allows to define
Package developers and users can define recipes to tell [Plots.jl](https://github.com/JuliaPlots/Plots.jl) how to plot custom types without depending on it.
Furthermore, recipes can be used for complex visualizations and new series types.
Plots, for example, uses recipes internally to define histograms or bar plots.
[StatsPlots.jl](https://github.com/JuliaPlots/StatsPlots.jl) and [GraphRecipes.jl](https://github.com/JuliaPlots/GraphRecipes.jl) extend Plots functionality for statistical plotting and visualization of graphs.
[StatsPlots.jl](https://github.com/JuliaPlots/Plots.jl/tree/v2/StatsPlots) and [GraphRecipes.jl](https://github.com/JuliaPlots/Plots.jl/tree/v2/GraphRecipes) extend Plots functionality for statistical plotting and visualization of graphs.

RecipesBase exports the [`@recipe`](@ref) macro which provides a nice syntax for defining plot recipes.
Under the hood [`@recipe`](@ref) defines a new method for `RecipesBase.apply_recipe` which is called recursively in Plots at different stages of the argument processing pipeline.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/ecosystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ dist = Gamma(2)
a = [randn(100); randn(100) .+ 3; randn(100) ./ 2 .+ 3]
```

Plots is great on its own, but the real power comes from the ecosystem surrounding it. The design of Plots (and more specifically [RecipesBase](https://github.com/JuliaPlots/RecipesBase.jl)) is to bind together disparate functionality into a cohesive and consistent user experience. Some packages may choose to implement recipes to visualize their custom types. Others may extend the functionality of Plots for Base types. On this page I'll attempt to collect and display some of the many things you can do using the ecosystem which has developed around the Plots core.
Plots is great on its own, but the real power comes from the ecosystem surrounding it. The design of Plots (and more specifically [RecipesBase](https://github.com/JuliaPlots/Plots.jl/tree/v2/RecipesBase)) is to bind together disparate functionality into a cohesive and consistent user experience. Some packages may choose to implement recipes to visualize their custom types. Others may extend the functionality of Plots for Base types. On this page I'll attempt to collect and display some of the many things you can do using the ecosystem which has developed around the Plots core.

---

Expand Down
2 changes: 1 addition & 1 deletion docs/src/input_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ png("input_data_1") # hide

## DataFrames support

Using the [StatsPlots](https://github.com/JuliaPlots/StatsPlots.jl) extension package, you can pass a `DataFrame` as the first argument (similar to Gadfly or R's ggplot2). For data fields or certain attributes (such as `group`) a symbol will be replaced with the corresponding column(s) of the `DataFrame`. Additionally, the column name might be used as the An example:
Using the [StatsPlots](https://github.com/JuliaPlots/Plots.jl/tree/v2/StatsPlots) extension package, you can pass a `DataFrame` as the first argument (similar to Gadfly or R's ggplot2). For data fields or certain attributes (such as `group`) a symbol will be replaced with the corresponding column(s) of the `DataFrame`. Additionally, the column name might be used as the An example:

```@example input_data
using StatsPlots, RDatasets
Expand Down
8 changes: 4 additions & 4 deletions docs/src/recipes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ Plots.Commons.reset_defaults()

# [Recipes](@id recipes)

Recipes are a way of defining visualizations in your own packages and code, without having to depend on Plots. The functionality relies on [RecipesBase](https://github.com/JuliaPlots/RecipesBase.jl), a super lightweight but powerful package which allows users to create advanced plotting logic without Plots. The `@recipe` macro in RecipesBase will add a method definition for `RecipesBase.apply_recipe`. Plots adds to and calls this same function, and so your package and Plots can communicate without ever knowing about the other. Magic!
Recipes are a way of defining visualizations in your own packages and code, without having to depend on Plots. The functionality relies on [RecipesBase](https://github.com/JuliaPlots/Plots.jl/tree/v2/RecipesBase), a super lightweight but powerful package which allows users to create advanced plotting logic without Plots. The `@recipe` macro in RecipesBase will add a method definition for `RecipesBase.apply_recipe`. Plots adds to and calls this same function, and so your package and Plots can communicate without ever knowing about the other. Magic!

Visualizing custom user types has always been a confusing problem. Should a package developer add a dependency on a plotting package (forcing the significant baggage that comes with that dependency)? Should they attempt conditional dependencies? Should they submit a PR to graphics packages to define their custom visualizations? It seems that every option had many cons for each pro, and the decision was tough. With recipes, these issues go away. One tiny package (RecipesBase) gives simple hooks into the visualization pipeline, allowing users and package developers to focus solely on the specifics of their visualization. Pick the shapes/lines/colors that will represent your data well, decide on custom defaults, and convert the inputs (if you need to). Everything else is handled by Plots. There are many examples of recipes both within Plots and in many external packages, including [GraphRecipes](https://github.com/JuliaPlots/GraphRecipes.jl).
Visualizing custom user types has always been a confusing problem. Should a package developer add a dependency on a plotting package (forcing the significant baggage that comes with that dependency)? Should they attempt conditional dependencies? Should they submit a PR to graphics packages to define their custom visualizations? It seems that every option had many cons for each pro, and the decision was tough. With recipes, these issues go away. One tiny package (RecipesBase) gives simple hooks into the visualization pipeline, allowing users and package developers to focus solely on the specifics of their visualization. Pick the shapes/lines/colors that will represent your data well, decide on custom defaults, and convert the inputs (if you need to). Everything else is handled by Plots. There are many examples of recipes both within Plots and in many external packages, including [GraphRecipes](https://github.com/JuliaPlots/Plots.jl/tree/v2/GraphRecipes).


### Visualizing User Types
Expand Down Expand Up @@ -81,7 +81,7 @@ These are the dispatch signatures for each type (note that most of these can acc
```
- These are called after input data has been processed, but **before the plot is created**.
- Build layouts, add subplots, and other plot-wide attributes.
- See `marginalhist` in [StatsPlots](https://github.com/JuliaPlots/StatsPlots.jl) for an example.
- See `marginalhist` in [StatsPlots](https://github.com/JuliaPlots/Plots.jl/tree/v2/StatsPlots) for an example.

### [Series Recipes](@id series-recipes)
```julia
Expand Down Expand Up @@ -250,7 +250,7 @@ See below where I go through a series recipe for creating boxplots. Many of the

### Marginal Histograms

Here we show a user recipe version of the `marginalhist` plot recipe for [StatsPlots](https://github.com/JuliaPlots/StatsPlots.jl). This is a nice example because, although easy to understand, it utilizes some great Plots features.
Here we show a user recipe version of the `marginalhist` plot recipe for [StatsPlots](https://github.com/JuliaPlots/Plots.jl/tree/v2/StatsPlots). This is a nice example because, although easy to understand, it utilizes some great Plots features.

Marginal histograms are a visualization comparing two variables. The main plot is a 2D histogram, where each rectangle is a (possibly normalized and weighted) count of data points in that bucket. Above the main plot is a smaller histogram of the first variable, and to the right of the main plot is a histogram of the second variable. The full recipe:

Expand Down
6 changes: 3 additions & 3 deletions docs/src/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -429,8 +429,8 @@ Writing your own recipes is an advanced topic described on the
a recipe.

Recipes are included in many recipe libraries. Two fundamental recipe libraries
are [PlotRecipes.jl](https://github.com/JuliaPlots/PlotRecipes.jl) and
[StatsPlots.jl](https://github.com/JuliaPlots/StatsPlots.jl). Let's look into
are [GraphRecipes.jl](https://github.com/JuliaPlots/Plots.jl/tree/v2/GraphRecipes) and
[StatsPlots.jl](https://github.com/JuliaPlots/Plots.jl/tree/v2/StatsPlots). Let's look into
StatsPlots.jl. StatsPlots.jl adds a bunch of recipes, but the ones we'll focus
on are:

Expand Down Expand Up @@ -532,7 +532,7 @@ try. Here's a short list of very usable addons to check out:
- [PlotThemes.jl](https://github.com/JuliaPlots/PlotThemes.jl) allows you to
change the color scheme of your plots. For example, `theme(:dark)` adds a
dark theme.
- [StatsPlots.jl](https://github.com/JuliaPlots/StatsPlots.jl) adds functionality
- [StatsPlots.jl](https://github.com/JuliaPlots/Plots.jl/tree/v2/StatsPlots) adds functionality
for visualizations of statistical analysis
- The [ecosystem page](@ref ecosystem) shows many other packages which have recipes
and extend Plots.jl's functionality.
Loading