Plotly是Python最有用的绘图库和其他语言之一。它为各种图和数据类型提供了多功能的绘图选项。它还通过使用简单的函数为各种绘图提供了大量的自定义功能。
在这篇文章中,我们将讨论如何为你的绘图设置透明背景色。
Plotly Express设置透明色
让我们学习一下如何使用Plotly Express设置透明背景。在本教程中,我们将使用一个简单的饼图,如以下代码所示。
import plotly.express as px
label = ["Oracle", "MySQL", "SQL Server", "PostgreSQL", "MongoDB", "Redis", "Elasticsearch", "SQLite"]
values = [1266.89, 1206.05, 944.81, 606.56, 488.57, 177.98, 160.75, 127.43]
fig = px.pie(values=values, labels=label)
fig.show()
前面的示例代码创建了一个世界上最流行的数据库系统的饼图。
由此产生的图显示如下。

为了创建一个透明的背景,我们可以使用update_layout()函数,并将plot_bgcolor和paper_bgcolor的透明值调低。
考虑下图所示的示例代码。
fig.update_layout({
'plot_bgcolor': 'rgba(0,0,0,0)',
'paper_bgcolor': 'rgba(0,0,0,0)'
})
fig.show()
在前面的示例代码中,我们使用update_layout()函数,并将所需的属性作为一个字典传递。
使用RGBA颜色方案,因为它允许你在传递颜色时指定alpha参数。
前面的代码应该返回一个图,如下图所示。

Plotly Graph_Objects 设置透明背景色
定制你的图的最好方法之一是使用Plotly的graph_objects类。它允许你用自定义的值来指定一系列的属性。
我们可以用它来创建一个透明背景的图。
例如,我们可以使用 graph_objects.Pie 类创建一个饼图,如下面的代码所示。
import plotly.graph_objects as go
label = ["Oracle", "MySQL", "SQL Server", "PostgreSQL", "MongoDB", "Redis", "Elasticsearch", "SQLite"]
values = [1266.89, 1206.05, 944.81, 606.56, 488.57, 177.98, 160.75, 127.43]
fig = go.Figure(
data=[
go.Pie(
values=values,
labels=label
)
]
)
fig.show()
在这种情况下,我们使用graph_objects来绘制一个具有指定数据的饼图。
为了创建一个透明背景的图,我们需要指定 plot_bgcolor 和 paper_bgcolor 属性为一个字典。
下面是一个示例代码。
layout = dict(plot_bgcolor='rgba(0,0,0,0)', paper_bgcolor='rgba(0,0,0,0)')
fig = go.Figure(
data=[
go.Pie(
values=values,
labels=label
)
], layout=layout
)
fig.show()
在这里,我们定义了一个叫做 dictionary 的变量,持有两个键值对。这允许我们使用go.Pie()类的layout参数将背景颜色设置为透明。
得到的图形如下所示。

在处理graph_objects时,你也可以使用update_layout函数来更新绘图。
总结
在本教程中,我们探讨了如何使用Plotly Express和Plotly graph_objects为Plotly的绘图设置透明背景。为了更好地理解这两种方法,我们提供了一些例子。