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.graph_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步

设置索引名称并根据“年龄”列对值进行排序,

# Set index name
df.index.name = 'DataFrame'

# Sort the values
df = df.sort_values('Age')

第5步

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

# Create traces to generate scatter plot
# Text to show hover on column
trace = go.Scatter(
   x = df.index,
   y = df['Mark'],
   name = 'Mark',
   text = df['Age'],
   mode = 'lines+markers',
   line = dict(color='green',width = 4)
)

第6步

使用 dict 中的 title 为X轴和Y轴上的多个文本标签创建 layout

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

第7步

使用布局值生成图形并创建离线图。

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

示例

这是完整的代码,用于从DataFrame列中添加多个文本标签:

import pandas as pd
import plotly as py
import plotly.graph_objs as go

# Crete dataframe
df = pd.DataFrame({
   'Age':[20,22,23,24,21],
   'Mark':[80,85,90,95,99],
}, index=['one','two','three','four','five'])

# Set index name
df.index.name = 'DataFrame'

# Sort the values
df = df.sort_values('Age')

# Create traces to generate scatter plot
# Text to show hover on column
trace = go.Scatter(
   x = df.index,
   y = df['Mark'],
   name = 'Mark',
   text = df['Age'],
   mode = 'lines+markers',
   line = dict(color='green',width = 4)
)

# Set layout title for X and Y axis
layout = dict(
   title = 'Multiple text labels',
   xaxis = dict(title = 'DataFrame'),
   yaxis = dict(title = 'Mark'),
)

# Create data
data = [trace]

# Set dict of dataset and layout
fig = dict(data=data, layout=layout)

# Generate html file
py.offline.plot(fig, filename = 'df.html')

输出

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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程