📜  在Python中使用 Plotly 绘制饼图

📅  最后修改于: 2022-05-13 01:55:36.045000             🧑  作者: Mango

在Python中使用 Plotly 绘制饼图

Plotly是一个Python库,用于设计图形,尤其是交互式图形。它可以绘制各种图形和图表,如直方图、条形图、箱线图、散布图等等。它主要用于数据分析和财务分析。 plotly 是一个交互式可视化库。

饼图

饼图是一种圆形分析图,它被划分为区域来表示数字百分比。在 px.pie 中,饼图扇区预期用于设置值的数据。所有部门都按名称分类。饼图通常用于显示下一个相应饼图的百分比。由于其不同的部分和颜色编码,饼图有助于更好地理解。

参数:

Name ValueDescription
data_frameDataFrame or array-like or dictThis argument needs to be passed for column names (and not keyword names) to be used. Array-like and dict are transformed internally to a pandas DataFrame. Optional: if missing, a DataFrame gets constructed under the hood using the other arguments
namesstr or int or Series or array-like Either a name of a column in data_frame, or a pandas Series or array_like object. Values from this column or array_like are used as labels for sectors.
valuesstr or int or Series or array-like Either a name of a column in data_frame, or a pandas Series or array_like object. Values from this column or array_like are used to set values associated to sectors.
colorstr or int or Series or array-like Either a name of a column in data_frame, or a pandas Series or array_like object. Values from this column or array_like are used to assign color to marks.

例子:

Python3
import plotly.express as px
import numpy
 
# Random Data
random_x = [100, 2000, 550]
names = ['A', 'B', 'C']
 
fig = px.pie(values=random_x, names=names)
fig.show()


Python3
import plotly.express as px
 
# Loading the iris dataset
df = px.data.iris()
 
fig = px.pie(df, values="sepal_width", names="species")
fig.show()


Python3
import plotly.express as px
 
# Loading the iris dataset
df = px.data.iris()
 
fig = px.pie(df, values="sepal_width", names="species",
             title='Iris Dataset', hover_data=['sepal_length'])
fig.show()


Python3
import plotly.express as px
 
# Loading the iris dataset
df = px.data.iris()
 
fig = px.pie(df, values="sepal_width",
             names="species",
             color_discrete_sequence=px.colors.sequential.RdBu)
fig.show()


输出:

分组数据

names 参数的相同值被组合在一起。重复的标签在视觉上将行或列分组在一起,使数据更易于理解。让我们看看下面给出的一个例子。

示例:鸢尾花数据集包含许多行,但只有 3 个物种,因此数据根据物种进行分组。

Python3

import plotly.express as px
 
# Loading the iris dataset
df = px.data.iris()
 
fig = px.pie(df, values="sepal_width", names="species")
fig.show()

输出:

自定义饼图

可以使用 px.pie 自定义饼图,使用它的一些参数,例如 hover_data 和标签。让我们看下面的示例以更好地理解。

例子:

Python3

import plotly.express as px
 
# Loading the iris dataset
df = px.data.iris()
 
fig = px.pie(df, values="sepal_width", names="species",
             title='Iris Dataset', hover_data=['sepal_length'])
fig.show()

输出:

设置颜色

饼图的颜色可以在 plotly 模块中改变。不同的颜色有助于区分数据,这有助于更有效地理解数据。

例子:

Python3

import plotly.express as px
 
# Loading the iris dataset
df = px.data.iris()
 
fig = px.pie(df, values="sepal_width",
             names="species",
             color_discrete_sequence=px.colors.sequential.RdBu)
fig.show()

输出: