前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >plotly-express-13-plotly生成表格

plotly-express-13-plotly生成表格

作者头像
皮大大
发布于 2021-03-01 07:03:39
发布于 2021-03-01 07:03:39
1.6K02
代码可运行
举报
运行总次数:2
代码可运行

plotly-express-13-plotly操作表格

文本中介绍的是如何利用plotly来操作表格,使用的go.Table方法

go.Table provides a Table object for detailed data viewing. The data are arranged in a grid of rows and columns. Most styling can be specified for header, columns, rows or individual cells. Table is using a column-major order, ie. the grid is represented as a vector of column vectors.

主要的内容包含:

参考链接

https://plotly.com/python/figure-factory-table/

https://plotly.com/python/table/

plotly生成表格

通过自己给定的数据来生成表格:go.Table()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
number = np.random.randint(80,100,4)
# print(number)
fig = go.Figure(data=[go.Table(
    header=dict(values=['A Scores', 'B Scores']),   # 设置表头
    cells=dict(values=[number,   # 通过numpy给定数据
                        [95, 85, 75, 95]]))
                     ]
               )
fig.show()

自定义表格样式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig = go.Figure(data=[go.Table(
    header=dict(values=['A Scores', 'B Scores'],
                line_color='darkslategray',
                fill_color='lightskyblue',
                align='left'),
    cells=dict(values=[[100, 90, 80, 90], # 1st column
                       [95, 85, 75, 95]], # 2nd column
               line_color='darkslategray',
               fill_color='lightcyan',
               align='center'))
])

fig.update_layout(width=600, height=300)
fig.show()

使用pandas 生成表格

图形工厂figure factory

给定数据创建
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import plotly.figure_factory as ff

data_matrix = [['Country', 'Year', 'Population'],  # 每行数据记录
               ['United States', 2000, 282200000],
               ['Canada', 2000, 27790000],
               ['United States', 2005, 295500000],
               ['Canada', 2005, 32310000],
               ['United States', 2010, 309000000],
               ['Canada', 2010, 34000000]]

fig = ff.create_table(data_matrix)
fig.show()
添加链接 和使用Latex公式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data_matrix = [['User', 'Language', 'Chart Type', '# of Views', 'Equation'],   # 第一行数据

               ['<a href="https://plotly.com/~empet/folder/home">empet</a>',
                '<a href="https://plotly.com/python/">Python</a>',
                '<a href="https://plotly.com/~empet/8614/">Network Graph</a>',
                298,'$a^{2}+b^{2}=c^{2}$'],   # 第2行数据

               ['<a href="https://plotly.com/~Grondo/folder/home">Grondo</a>',
                '<a href="https://plotly.com/matlab/">Matlab</a>',
                '<a href="https://plotly.com/~Grondo/42/">Subplots</a>',
                356,'$F-E+V=2$']    # 第3行数据
              ]

fig = ff.create_table(data_matrix)
fig.show()
使用pandas生成多个表格
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = px.data.gapminder()
df = data[20:25]

colorscale = [[0, '#1d004c'],[0.5, '#7d104c'], [1, '#ffffff']]
font=['#FCFCFC', '#00EE00', '#008B00', '#004F00', '#FF3030']

fig = ff.create_table(df,  # 直接通过pandas创建
                      height_constant=50,  # 每行记录的宽度
                      colorscale=colorscale,   # 颜色范围
                      font_colors=font   # 底部颜色
                     )
fig.show()

缩小间隔

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig = ff.create_table(df,height_constant=20)  # 直接通过pandas创建
fig.show()

Table and Graph

demo(水平方向)

水平方向是根据相同的x轴来绘制的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 给定表格数据
table_data = [['Team', 'Wins', 'Losses', 'Ties'],  # 直接给定每行的数据
              ['Montréal<br>Canadiens', 18, 4, 0],  # 数据的换行显示
              ['Dallas Stars', 18, 5, 0],
              ['NY Rangers', 16, 5, 0],
              ['Boston<br>Bruins', 13, 8, 0],
              ['Chicago<br>Blackhawks', 13, 8, 0],
              ['LA Kings', 13, 8, 0],
              ['Ottawa<br>Senators', 12, 5, 0]]
# Initialize a figure with ff.create_table(table_data)
fig = ff.create_table(table_data, # 表格数据
                      height_constant=60)  # 间隔

# 给定画图的数据
x = ['Montréal Canadiens', 'Dallas Stars', 'NY Rangers',   # 队名
         'Boston Bruins', 'Chicago Blackhawks', 'LA Kings', 'Ottawa Senators']

GFPG = [3.54, 3.48, 3.0, 3.27, 2.83, 2.45, 3.18]  # 2种得分
GAPG = [2.17, 2.57, 2.0, 2.91, 2.57, 2.14, 2.77]
# Make traces for graph
fig.add_trace(go.Scatter(x=x, y=GFPG,
                    marker=dict(color='#0099ff'),  # 指定颜色
                    name='Goals For<br>Per Game',  # 名称
                    xaxis='x2', yaxis='y2'))
fig.add_trace(go.Scatter(x=x, y=GAPG,
                    marker=dict(color='#404040'),
                    name='Goals Against<br>Per Game',
                    xaxis='x2', yaxis='y2'))

fig.update_layout(
    title_text = 'Title of Figure',   # 整个figure的名称
    margin = {'t':50, 'b':100},   # 与顶部和底部的距离
    xaxis = {'domain': [0, .5]},   # 表格的x轴范围
    xaxis2 = {'domain': [0.6, 1]},  # 图形占据的x轴范围
    yaxis2 = {'anchor': 'x2',   # 表示yaxis的绘图是以x2为基准,title显示在yaxis上
              'title': 'Goals'}
)

fig.show()
demo(竖直方向)

竖直方向是根据y轴来确定的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Add table data
table_data = [['Team', 'Wins', 'Losses', 'Ties'],
              ['Montréal<br>Canadiens', 18, 4, 0],
              ['Dallas Stars', 18, 5, 0],
              ['NY Rangers', 16, 5, 0],
              ['Boston<br>Bruins', 13, 8, 0],
              ['Chicago<br>Blackhawks', 13, 8, 0],
              ['Ottawa<br>Senators', 12, 5, 0]]

fig = ff.create_table(table_data, height_constant=60)

# Add graph data
teams = ['Montréal Canadiens', 'Dallas Stars', 'NY Rangers',
         'Boston Bruins', 'Chicago Blackhawks', 'Ottawa Senators']

GFPG = [3.54, 3.48, 3.0, 3.27, 2.83, 3.18]
GAPG = [2.17, 2.57, 2.0, 2.91, 2.57, 2.77]

fig.add_trace(go.Bar(x=teams, y=GFPG, xaxis='x2', yaxis='y2',   # 上面的表格属于x1,y1
                     marker=dict(color='#0099ff'),
                     name='Goals For<br>Per Game'))

fig.add_trace(go.Bar(x=teams, y=GAPG, xaxis='x2', yaxis='y2',
                     marker=dict(color='#404040'),
                     name='Goals Against<br>Per Game'))

fig.update_layout(
    title_text = '2016 Hockey Stats',
    height = 1000,
    margin = {'t':75,   # 与顶部的距离
              'l':50},  # 与左边的距离
    yaxis = {'domain': [0, 0.5]},   # 从最下面开始,向上为正,y轴的区间范围
    xaxis2 = {'anchor': 'y2'},   # anchor
    yaxis2 = {'domain': [.6, 1], 'anchor': 'x2', 'title': 'Goals'}
)

fig.show()

自身数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = pd.DataFrame({"name":["xiaoming","xiaohong","zhangshan","lisi"],
                  "age":np.random.randint(22,30,4),
                  "address":["shenzhen","guangzhou","changsha","shanghai"],
                  "chinese":np.random.randint(80,100,4),
                  "math":np.random.randint(80,100,4)})

colorscale = [[0, '#1d004c'],[0.5, '#7d104c'], [1, '#ffffff']]
font=['#FCFCFC', '#00EE00', '#FF3030']

fig = ff.create_table(df,  # 直接通过pandas创建
                      height_constant=50,  # 每行记录的宽度
                      colorscale=colorscale,   # 颜色范围
                      font_colors=font   # 底部颜色
                     )
# fig.show()
fig.add_trace(go.Bar(x=df["name"].tolist(),
                     y=df["chinese"].tolist(),
                     xaxis='x2', yaxis='y2',
                     marker=dict(color='#580bd3'),
                     name='chinese')
                    )

fig.add_trace(go.Bar(x=df["name"].tolist(),
                     y=df["math"].tolist(),
                     xaxis='x2', yaxis='y2',
                     marker=dict(color='#0099ff'),
                     name='math')
                    )

fig.update_layout(
    title_text = 'how to use factory figure',
    height = 800,
    margin = {'t':75,   # 与顶部的距离
              'l':50},  # 与左边的距离
    yaxis = {'domain': [0, 0.5]},   # 从最下面开始,向上为正,y轴的区间范围
    xaxis2 = {'anchor': 'y2'},   # anchor
    yaxis2 = {'domain': [.6, 1], 'anchor': 'x2', 'title': 'Goals'}
)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-7-6,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
plotly-express-22-plotly使用技巧大全
本文中将前段时间写的plotly-express可视化库的相关技巧进行整理,方便后续快速实现调用
皮大大
2021/03/01
3.1K0
plotly-express-22-plotly使用技巧大全
Plotly绘图,快速入门
Plotly是一个用于创建交互式图表的Python库,它支持多种图表类型,如折线图、散点图、饼图、热力图等。Plotly的特点如下:
皮大大
2024/06/29
3920
【Plotly快速入门】用Plotly绘制了几张精湛的图表,美翻了!!
说到Python当中的可视化模块,相信大家用的比较多的还是matplotlib、seaborn等模块,今天小编来尝试用Plotly模块为大家绘制可视化图表,和前两者相比,用Plotly模块会指出来的可视化图表有着很强的交互性。
用户6888863
2022/06/08
6280
【Plotly快速入门】用Plotly绘制了几张精湛的图表,美翻了!!
plotly-express-16-绘制技巧(一)
Plotly-express-16-绘制技巧(一) 本文中介绍的是利用Plotly绘图小技巧: 图片的保存:jupyter notebook下的保存和指定路径下的保存 柱状图的颜色改变(避免同样的颜色
皮大大
2021/03/01
1.3K0
plotly-express-16-绘制技巧(一)
Plotly深入浅出
作为Python的新一代数据可视化绘图库,和matplotlib等传统绘图库相比,plotly具有以下优点:
lyhue1991
2022/05/16
2.6K0
Plotly深入浅出
kaggle-3-Appstore
The ever-changing mobile landscape is a challenging space to navigate. . The percentage of mobile over desktop is only increasing. Android holds about 53.2% of the smartphone market, while iOS is 43%. To get more people to download your app, you need to make sure they can easily find your app. Mobile app analytics is a great way to understand the existing strategy to drive growth and retention of future user.
皮大大
2021/03/01
6090
kaggle-3-Appstore
plotly-express-15-plotly绘制水平柱状图
In this example a column is used to color the bars, and we add the information from other columns to the hover data.
皮大大
2021/03/01
1.5K0
plotly-express-15-plotly绘制水平柱状图
厉害了,“plotly”也能画出高颜值的组合图
今天小编和大家分享一下“组合图”的绘制,在我们的日常生活工作当中,通常都会遇到需要去绘制“组合图”,例如折线图和直方图的组合,那么如何将“组合图”绘制的高颜值一点、通俗易懂一点呢?
用户6888863
2021/07/19
1.9K0
plotly-express-17-plotly绘图技巧之图例与标题(二)
https://plotly.com/python/reference/#layout
皮大大
2021/03/01
4.6K0
plotly-express-17-plotly绘图技巧之图例与标题(二)
plotly-express-11-plotly实现柱状图
With px.bar, each row of the DataFrame is represented as a rectangular mark.
皮大大
2021/03/01
1.9K0
plotly-express-11-plotly实现柱状图
plotly-express-8-plotly实现散点图
本文中介绍的是利用plotly_express绘制散点图,使用的是scatter()方法。
皮大大
2021/03/01
1.7K0
plotly-express-8-plotly实现散点图
可视化神器Plotly玩转柱状图
本文是可视化神器Plotly绘图的第5篇:重点讲解如何利用Plotly绘制柱状图。柱状图在可视化图中是出现频率非常高的一种图表,能够很直观地展现数据的大小分布情况,在自己的工作中也使用地十分频繁。本文将详细介绍如何制作柱状图和水平柱状图。
皮大大
2021/04/23
5.3K0
plotly-express-12-plotly实现多子图
在很多的实际业务需求中,需要将多个图形集中放置一个figure中,而不是单独显示,在这种情况下我们需要使用子图的概念。本文中讲解如何在plotly中使用plotly.graph_objects绘制各种形式的子图
皮大大
2021/03/01
3.4K0
plotly-express-12-plotly实现多子图
Plotly,一个超强的Python可视化库!
数据可视化是数据分析和探索的一个重要方面,它有助于深入了解数据集中的潜在模式、趋势和关系。
小F
2023/12/21
7190
Plotly,一个超强的Python可视化库!
plotly-express-19-设置图形的大小
Plotly-express-19-plotly中设置图形大小 本文中介绍的是如何在plotly中通过两种方法来设置图形的大小 px实现 go.Figure实现 px实现 数据 数据使用的是px中自带
皮大大
2021/03/01
3K0
plotly-express-19-设置图形的大小
plotly-express-9-plotly实现线型图
本文中介绍的是利用plotly绘制线型图,使用的是line()和go.Line()方法
皮大大
2021/03/01
1.8K0
plotly-express-9-plotly实现线型图
深入了解 Plotly 高级技术,附实用代码示例
数据可视化是数据分析和探索中至关重要的一部分,能够帮助我们更深入地理解数据集中的潜在模式、趋势和关系。Plotly是一个功能强大、用途广泛的Python库,提供了多种工具用于创建交互式、视觉上引人入胜的图表。在本文中,我们将深入探索Plotly的世界,通过高级Python代码示例来探索其特性和功能。
数据STUDIO
2024/04/11
7560
深入了解 Plotly 高级技术,附实用代码示例
plotly可视化快速教程
Plotly是新一代的Python数据可视化开发库,它提供了完善的交互能力和灵活的绘制选项。本文将介绍新手如何安装plotly并编写第一个plotly绘图程序,以及使用plotly绘制常见的5种数据图表。
用户1408045
2019/10/10
2.9K0
plotly可视化快速教程
8个plotly绘图技巧
Plotly 是一个用于创建交互式数据可视化的 Python 库,它允许你轻松地生成各种类型的图表和图形,包括折线图、散点图、柱状图、饼图、热力图、3D 图等。
皮大大
2023/09/17
8890
可视化神器Plotly玩转股票图
本文是可视化神器Plotly绘图的第7篇,讲解的是如何通过Plotly来绘制与股市相关的图形,比如基础K线图、OHLC图等。
皮大大
2021/04/28
6.8K0
可视化神器Plotly玩转股票图
相关推荐
plotly-express-22-plotly使用技巧大全
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验