如何在Python Plotly中从DataFrame列添加多个文本标签?

如何在Python Plotly中从DataFrame列添加多个文本标签?

Plotly是一个Python中的开源绘图库,可以生成多种不同类型的图表。Python用户可以使用Plotly创建交互式的基于Web的可视化。

在本教程中,我们将看到如何使用Plotly从DataFrame列中添加多个文本标签到图表中。

  • 在这里,我们将使用plotly.graph_objects模块生成图形。它包含许多方法来自定义图表并将它们呈现为HTML格式。

  • 然后,我们将使用该模块的Scatter()方法生成散点图。Scatter()的“line”属性包含一个“color”参数,我们将使用它来指定所需的颜色。

  • 要生成DataFrame,我们将使用Pandas模块。

按照以下步骤添加多个文本标签从DataFrame列。

步骤1

导入plotly模块并将其别名为 py 。类似地,导入 pandas 模块并将其别名为 pd。

import plotly as py
import pandas as pd

步骤2

导入plotly.graphs_objs模块并将其别名为go

import plotly.graphs_objs as go

步骤3

使用Pandas模块创建数据框。

df = pd.DataFrame({
   'Age':[20,22,23,24,21],
   'Mark':[80,85,90,95,99],
},

步骤4

设置索引名称并基于“Age”列对值进行排序,

# 设置索引名称
df.index.name = 'DataFrame'

# 排序值
df = df.sort_values('Age')

步骤5

创建跟踪以生成散点图并添加文本以显示在列上悬停。

# 创建跟踪以生成散点图
# 文本显示列上的悬停
trace = go.Scatter(
   x = df.index,
   y = df['Mark'],
   name = 'Mark',
   text = df['Age'],
   mode = 'lines+markers',
   line = dict(color='green',width = 4)
)

步骤6

创建包含title值的布局dict,用于在X和Y轴上添加多个文本标签。

layout = dict(
   title = 'Multiple text labels',
   xaxis = dict(title = 'DataFrame'),
   yaxis = dict(title = 'Mark'),
)

步骤7

使用layout值生成图形,并创建离线图。

data = [trace]
fig = dict(data=data, layout=layout)
py.offline.plot(fig, filename = 'df.html')

例子

这是从DataFrame列中添加多个文本标签的完整代码 −

导入 pandas 作为 pd
导入 plotly 作为 py
导入 plotly.graph_objs 作为 go

# 创建数据帧
df = pd.DataFrame({
   '年龄':[20,22,23,24,21],
   '标记':[80,85,90,95,99],
}, index=['一个','两个','三个','四个','五个'])

# 设置索引名称
df.index.name = '数据帧'

# 对值进行排序
df = df.sort_values('年龄')

# 创建 traces 以生成散点图
# 文本以在 column 上显示悬停
trace = go.Scatter(
   x = df.index,
   y = df['标记'],
   name = '标记',
   text = df['年龄'],
   mode = 'lines+markers',
   line = dict(color='green',width = 4)
)

# 设置 X 轴和 Y 轴的布局标题
layout = dict(
   title = '多个文本标签',
   xaxis = dict(title = '数据帧'),
   yaxis = dict(title = '标记'),
)

# 创建数据
data = [trace]

# 设置数据集和布局的字典
fig = dict(data=data, layout=layout)

# 生成 HTML 文件
py.offline.plot(fig, filename = 'df.html')

输出

它将在浏览器上显示以下输出 −

如何在Python Plotly中从DataFrame列添加多个文本标签?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程