📅  最后修改于: 2023-12-03 15:24:34.292000             🧑  作者: Mango
Plotly 是一款基于 Python 的数据可视化工具,其支持多种绘图类型,包括折线图、散点图、柱状图、饼图等等,还支持创建交互式的可视化图表,可用于 Web、Notebook 和 Dash 等应用。本教程将介绍如何在 Python 中使用 Plotly 创建表格。
在使用 Plotly 之前,请确保已经安装了 Plotly 库。可以在终端或者命令行中通过以下命令进行安装:
pip install plotly
Plotly 中使用 Table
函数来创建表格。下面是一个基本的表格创建示例:
import plotly.graph_objects as go
header = dict(values=['A', 'B', 'C', 'D'],
fill_color='paleturquoise', align='center')
cells = dict(values=[[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]],
fill_color='lavender', align='center')
table = go.Table(header=header, cells=cells)
fig = go.Figure(data=[table])
fig.show()
运行代码,即可看到一个简单的表格。具体说明:
plotly.graph_objects
模块。dict
定义表头,这里提供了 4 个表头,都为大写字母,并定义了填充颜色和对其方式;dict
定义数据,这里提供了 4 行 4 列的随机数据,同样定义了填充颜色和对其方式;go.Table
函数生成表格;go.Figure
函数将表格数据传入;show()
方法展示出来。上面的代码创建的表格只是简单的数据展示,没有什么特色。下面将介绍如何创建一个带有特色的表格。假设我们有一份学生信息表,其数据如下:
| 学号 | 姓名 | 年龄 | 成绩 | |:----:|:----:|:----:|:----:| | 001 | 张三 | 18 | 85 | | 002 | 李四 | 19 | 92 | | 003 | 王五 | 20 | 89 | | 004 | 赵六 | 18 | 90 |
我们要创建一个表格,将学生信息展示出来,并且让表格看起来更加美观。可以按照下面的步骤进行操作:
以下是实现上述需求的代码示例:
import plotly.graph_objects as go
import plotly.io as pio
import pandas as pd
# 定义数据
data = pd.DataFrame({'学号': ['001', '002', '003', '004'],
'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [18, 19, 20, 18],
'成绩': [85, 92, 89, 90]})
# 定义表头
header = dict(values=['<b>'+str(i)+'</b>' for i in data.columns],
fill_color='#7B77BD',
font=dict(color='white', size=12),
align=['left', 'center'] * int(len(data.columns)/2),
height=40)
# 定义数据
cells = dict(values=[
data[k].tolist() for k in data.columns],
fill=dict(color=['white', 'aliceblue']),
font=dict(color=['#707070', '#707070']),
align=['left', 'center'] * int(len(data.columns)/2))
# 定义样式
style = dict(
table=dict(
border='thin lightgrey solid',
line=dict(color='#7B77BD'),
columnwidth=[40, 100, 40, 40],
width=400,
margin=dict(left=15, right=15, top=15, bottom=15),
header=header,
cells=cells))
# 调整布局
layout = go.Layout(width=500, height=300, autosize=True,
margin=dict(left=0, right=0, top=0, bottom=0),
font=dict(color='#707070', size=12),
title=dict(text='学生信息表', x=0.5))
# 创建表格
fig = dict(data=[dict(type='table', header=dict(
values=['<b>'+str(i)+'</b>' for i in data.columns]), cells=dict(values=data.values.tolist()))],
layout=go.Layout(
title='学生信息表',
))
# 展示表格
pio.show(fig)
运行代码,即可看到一个带有特色的表格。具体说明:
pandas
包读取数据,并存储在 DataFrame
中;dict
存储数据并定义了各种样式;pio.show
函数展示表格。Plotly 可以方便地创建漂亮的表格,自由度也十分高。开发者可以根据自己的需求,灵活运用 Plotly 的函数和样式参数,自定义表格样式,并将其用于自己的项目中。