| """ |
| Source: https://awesome-panel.org/resources/table_of_elements_with_wikipedia_row_content/ |
| """ |
|
|
| import panel as pn |
| from bokeh.sampledata.periodic_table import elements |
|
|
| pn.extension("tabulator") |
|
|
| @pn.cache |
| def get_elements(): |
| return elements[ |
| ["atomic number", "name", "atomic mass", "metal", "year discovered"] |
| ].set_index("atomic number") |
|
|
| periodic_df = get_elements() |
|
|
| @pn.cache |
| def content_fn(row): |
| return pn.pane.HTML( |
| f'<iframe src="https://en.wikipedia.org/wiki/{row["name"]}" width="100%" height="500px"></iframe>', |
| sizing_mode="stretch_width" |
| ) |
|
|
| periodic_table = pn.widgets.Tabulator( |
| periodic_df, |
| layout="fit_columns", |
| sizing_mode="stretch_both", |
| row_content=content_fn, |
| embed_content=True, |
| ) |
|
|
| pn.template.FastListTemplate( |
| site="Awesome Panel", |
| site_url="https://awesome-panel.org", |
| title="Table of Elements with Wikipedia row content", |
| main=[periodic_table], |
| accent="#F08080", |
| main_layout=None, |
| main_max_width="1024px", |
| ).servable() |
|
|