-
-
Notifications
You must be signed in to change notification settings - Fork 545
Finalize Basic Tutorials #6425
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
Merged
Merged
Finalize Basic Tutorials #6425
Changes from all commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
31ed209
content pn_bind
MarcSkovMadsen 6aefbd7
add more references
MarcSkovMadsen 5858f0a
update formulation
MarcSkovMadsen 58deff2
add pn_rx
MarcSkovMadsen e166fa0
add note
MarcSkovMadsen 64ca54d
fix
MarcSkovMadsen 963212c
use .watch
MarcSkovMadsen 0d6b122
review feedback
MarcSkovMadsen 000febb
try to fix video on iphone
MarcSkovMadsen da14926
Update Community Tutorials
MarcSkovMadsen ee0b8d7
remove Thu Vu because outdated
MarcSkovMadsen 622ddff
sort
MarcSkovMadsen e0cfa66
reorder
MarcSkovMadsen 50e8532
CLEAN UP
MarcSkovMadsen c8bde59
Merge branch 'main' of https://github.com/holoviz/panel into enhancem…
MarcSkovMadsen d077e53
Merge branch 'main' of https://github.com/holoviz/panel into enhancem…
MarcSkovMadsen 2686575
Merge remote-tracking branch 'origin/main' into enhancement/finalize-…
philippjfr d29d18e
Update pn_bind and pn_rx tutorials
philippjfr 7361179
change height
MarcSkovMadsen ecf6bd3
review
MarcSkovMadsen 80ddbbd
Merge branch 'main' into enhancement/finalize-basic-tutorial
MarcSkovMadsen fc4dea8
Merge branch 'main' into enhancement/finalize-basic-tutorial
philippjfr ac3f5e5
Replace table with definition list
philippjfr 7504ce1
Some improvements for basic tutorials
philippjfr 43e1c3b
Merge branch 'main' into enhancement/finalize-basic-tutorial
MarcSkovMadsen c7d6c0c
Merge branch 'enhancement/finalize-basic-tutorial' of https://github.…
MarcSkovMadsen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Binary file not shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,15 +46,62 @@ Start your journey with these foundational tutorials: | |
|
||
## Master Panel Basics | ||
|
||
Once you're comfortable, it's time to dive deeper: | ||
Once you're comfortable, it's time to dive deeper. Through a series of lessons we will learn about displaying content, arranging it on the page, handling user inputs and then how to improve the UI and UX of our applications. | ||
MarcSkovMadsen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
| Part | Section A | Section B| Section C | | ||
|--------------------------|---------------------------|-------------------|------------------------------------------------------| | ||
| **1. Display Content** | [`pn.panel`](pn_panel.md) | [Panes](panes.md) | [Performance Indicators](indicators_performance.md) | | ||
| **2. Organize Content** | [Layouts](layouts.md) | [Control the Size](size.md) | [Align Content](align.md) | | ||
| **3. Handle User Input** | [Widgets](widgets.md) | [React to User Input](pn_bind.md) | [Handle State](state.md) | | ||
| **4. Improve the look** | [Templates](templates.md)| [Designs](design.md) | [Styles](style.md) | | ||
| **5. Improve the Feel** | [Caching](caching.md) | [Activity Indicators](indicators_activity.md) | [Progressive Updates](progressive_layouts.md) | | ||
### 1. Display Content | ||
|
||
[`pn.panel`](pn_panel.md) | ||
: Learn to display Python objects easily with `pn.panel` | ||
|
||
[Panes](panes.md) | ||
: Learn to display content by creating Panes. | ||
|
||
[Indicators](indicators_performance.md) | ||
: Visualize key metrics with simple indicators | ||
|
||
### 2. Organize Content | ||
|
||
[Layouts](layouts.md) | ||
: Arrange output on the page using layouts. | ||
|
||
[Control the Size](size.md) | ||
: Learn to control the sizing of your components. | ||
|
||
[Align Content](align.md) | ||
: Discover how to align content on the page. | ||
|
||
### 3. Handle User Input | ||
|
||
[Widgets](widgets.md) | ||
: Learn about handling user input with widgets. | ||
|
||
[React to User Input](pn_bind.md) | ||
: Learn about reacting to user input by binding it to interactive components. | ||
|
||
[Reactive Expressions](pn_rx.md) | ||
: Learn about handling state and writing entire reactive expressions. | ||
|
||
### 4. Improve the Look | ||
|
||
[Templates](templates.md) | ||
: Learn to structure your app with pre-built templates. | ||
|
||
[Designs](design.md) | ||
: Style your apps using pre-built *designs* | ||
|
||
[Styles](style.md) | ||
: Further customize the look and feel by adding CSS styling. | ||
|
||
### 5. Improve the Feel | ||
|
||
[Caching](caching.md) | ||
: Leverage caching to enhance the speed and efficiency of your app. | ||
|
||
[Activity Indicators](indicators_activity.md) | ||
: Indicate progress and add notifications to improve the user experience. | ||
|
||
[Progressive Updates](progressive_layouts.md) | ||
: Efficiently and effortlessly update the content in your app with progressive updates. | ||
|
||
## Share Your Creations | ||
|
||
|
@@ -77,6 +124,17 @@ Now that you've got the basics down, it's time to put your skills to the test: | |
|
||
Let's start building some amazing wind turbine apps! 🌬️🌀 | ||
|
||
## Community Tutorials | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We will probably have to update this list once in a while. It would be really awesome if @sophiamyang would update the 3 Ways to Build a Panel Visualization Dashboard blog post. Main points to update would be
import panel as pn
import hvplot.pandas
# Load Data
from bokeh.sampledata.autompg import autompg_clean as df
# Make DataFrame Pipeline Interactive
idf = pn.rx(df)
# Define Panel widgets
cylinders = pn.widgets.IntSlider(name='Cylinders', start=4, end=8, step=2)
mfr = pn.widgets.ToggleGroup(
name='MFR',
options=['ford', 'chevrolet', 'honda', 'toyota', 'audi'],
value=['ford', 'chevrolet', 'honda', 'toyota', 'audi'],
button_type='primary',
button_style="outline",
)
yaxis = pn.widgets.RadioButtonGroup(
name='Y axis',
options=['hp', 'weight'],
button_type='primary',
button_style="outline",
)
# Combine pipeline and widgets
rx_pipeline = (
idf[
(idf.cyl == cylinders) &
(idf.mfr.isin(mfr))
]
.groupby(['origin', 'mpg'])[yaxis].mean()
.to_frame()
.reset_index()
.sort_values(by='mpg')
.reset_index(drop=True)
)
# Pipe to hvplot
rx_plot = rx_pipeline.hvplot(x='mpg', y=yaxis, by='origin', color=["#ff6f69", "#ffcc5c", "#88d8b0"], line_width=6, height=400)
# Layout using Template
template = pn.template.FastListTemplate(
title='Interactive DataFrame Dashboards with hvplot .interactive',
sidebar=[cylinders, 'Manufacturers', mfr, 'Y axis' , yaxis],
main=[pn.pane.HoloViews(rx_plot, sizing_mode="stretch_width")],
accent="#88d8b0",
)
template.servable() |
||
|
||
Want more? Check out some amazing tutorials by the community. | ||
|
||
- [3 Ways to Build a Panel Visualization Dashboard - Sophia Yang](https://towardsdatascience.com/3-ways-to-build-a-panel-visualization-dashboard-6e14148f529d) (Blog Post) | [PyTexas 2023](https://www.youtube.com/watch?v=8du4NNoOtII) (Video) | ||
- [HoloViz: Visualization and Interactive Dashboards in Python - Jean-Luc Stevens](https://www.youtube.com/watch?v=61uHwBlxRug) (Video) | ||
- [How to create Data Analytics Visualisation Dashboard using Python with Panel/Hvplot in just 10 mins - Atish Jain](https://www.youtube.com/watch?v=__QUQg96SFs) (Video) | ||
- [Step-by-Step Guide to Create Multi-Page Dashboard using Panel - CoderzColumn](https://www.youtube.com/watch?v=G3M0lQcWpqE) (Video) | ||
- [Transform a Python script into an interactive, web app and make it performant - Andrew Huang](https://blog.stackademic.com/transform-a-python-script-into-an-interactive-web-app-and-make-it-performant-73fa3b304cdf) (Blog Post) | ||
- [Using Panel to Build Data Dashboards in Python - Will Norris](https://towardsdatascience.com/using-panel-to-build-data-dashboards-in-python-e87a04c9034d) (Blog Post) | ||
|
||
```{toctree} | ||
:titlesonly: | ||
:hidden: | ||
|
@@ -93,7 +151,7 @@ size | |
align | ||
widgets | ||
pn_bind | ||
state | ||
pn_rx | ||
caching | ||
indicators_activity | ||
progressive_layouts | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.