介绍
plotly是一个易于使用,功能强大的python绘图库,用于构建可交互式的图表(可以自行运行后使用鼠标拖拽图片试试),本系列文章将介绍plotly绘制各种类型图的方法,本文将介绍——热力图
热力图
基础热力图
代码解释
-
import plotly.express as px:这行代码导入了Plotly库的express模块,并给它起了一个别名px。Plotly是一个流行的交互式图表库,可以创建高质量的图表和可视化。
-
df = px.data.tips():这行代码从Plotly库中加载了一个内置的示例数据集,名为“tips”,并将其存储在变量df中。这个数据集包含了关于餐厅小费的信息,如账单总额、小费金额、顾客人数等。
-
fig = px.density_heatmap(df, x=“total_bill”, y=“tip”):这行代码使用px.data.tips()函数创建了一个密度热图。x=“total_bill"和y=“tip"参数指定了热图的x轴和y轴分别对应数据集中的"total_bill”(总账单)和"tip”(小费)列。这个热图将展示总账单和小费之间的密度关系。
-
fig.show():最后这行代码会显示前面创建的密度热图。这个图表可以帮助观察者理解总账单和小费之间的关系,比如哪些账单总额通常会带来较高的小费。
import plotly.express as px
df = px.data.tips()
fig = px.density_heatmap(df, x="total_bill", y="tip")
fig.show()
多热力图
代码解释
-
import plotly.express as px:导入Plotly库的express模块,并简写为px,以便在代码中方便地引用。
-
df = px.data.tips():加载Plotly库中内置的tips数据集到变量df中。这个数据集包含了餐厅顾客的账单信息,如总账单金额、小费、顾客性别、是否吸烟等。
-
fig = px.density_heatmap(df, x=“total_bill”, y=“tip”, facet_row=“sex”, facet_col=“smoker”):
px.density_heatmap:调用Plotly库中用于生成密度热图的函数。
x=“total_bill”:设置热图的x轴为数据集中的"total_bill"列,即总账单金额。
y=“tip”:设置热图的y轴为数据集中的"tip"列,即小费金额。
facet_row=“sex”:通过分面(facet)的方式,在行方向上根据"sex"列(顾客性别)的不同值来分割热图。
facet_col=“smoker”:在列方向上根据"smoker"列(是否吸烟)的不同值来分割热图。
fig:将生成的分面密度热图存储在变量fig中。fig.show():显示fig变量中的分面密度热图。这个图表将展示不同性别和吸烟习惯的顾客在总账单金额和小费金额上的分布情况,帮助观察者分析这些因素对消费行为的影响。
import plotly.express as px
df = px.data.tips()
fig = px.density_heatmap(df, x="total_bill", y="tip", facet_row="sex", facet_col="smoker")
fig.show()
显示数字的热力图
代码解释
-
import plotly.express as px:这行代码导入了Plotly库中的express模块,并给它指定了别名px,以便在代码中方便地引用。
-
df = px.data.tips():这行代码加载了Plotly库中内置的示例数据集"tips"到变量df中。这个数据集包含了关于餐厅顾客的小费和账单信息。
-
fig = px.density_heatmap(df, x=“total_bill”, y=“tip”, text_auto=True):
px.density_heatmap:这是Plotly库中用于生成密度热图的函数。
df:这是包含数据的数据框。
x=“total_bill”:设置热图的x轴为数据集中的"total_bill"列,代表顾客的总账单金额。
y=“tip”:设置热图的y轴为数据集中的"tip"列,代表顾客给出的小费金额。
text_auto=True:这个参数确保每个热图单元格中自动显示相应的数据点数值,增强了图表的可读性。fig.show():这行代码会在屏幕上显示创建的密度热图。通过这个热图,可以直观地观察到不同账单金额下的小费分布情况,并且由于text_auto=True的设置,每个单元格中的数据值都会被标注出来,使得图表信息更加清晰。
import plotly.express as px
df = px.data.tips()
fig = px.density_heatmap(df, x="total_bill", y="tip", text_auto=True)
fig.show()