Python Bokeh可视化:不同职业类别婚姻状况占比分析
Python Bokeh可视化:不同职业类别婚姻状况占比分析
本示例使用Python的Bokeh库对数据集中的婚姻状况与职业类别之间的关系进行可视化分析。
数据准备
import pandas as pd
from bokeh.plotting import figure, show, output_file
# 读取数据
df = pd.read_csv('train.csv')
# 数据处理
marital_job = df.groupby(['marital', 'job']).size().reset_index(name='counts')
marital_job['percent'] = marital_job['counts'] / len(df)
创建堆叠柱状图
# 创建绘图空间
p = figure(title='不同职业类别婚姻状况占比', x_range=marital_job.marital.unique(),
plot_width=800, plot_height=400, toolbar_location=None, tools='')
# 绘制堆叠柱状图
jobs = marital_job.job.unique()
colors = ['#FFC300', '#FF5733', '#C70039', '#900C3F', '#581845']
for i, job in enumerate(jobs):
job_data = marital_job[marital_job.job == job]
p.vbar(x=job_data.marital, top=job_data.percent, width=0.9, color=colors[i],
legend_label=job, muted_color=colors[i], muted_alpha=0.2)
# 设置图例
p.legend.location = 'top_right'
p.legend.click_policy = 'mute'
# 输出图像
output_file('marital_job.html')
show(p)
代码说明
- 使用
groupby()函数对数据进行分组,统计每个职业类别中不同婚姻状况的数量。 - 使用
vbar()函数创建堆叠柱状图,并设置颜色、图例等样式。 - 使用
output_file()和show()函数将图表输出到HTML文件并显示。
总结
本示例展示了如何使用Python Bokeh库创建堆叠柱状图,对不同职业类别中婚姻状况的占比进行可视化分析。您可以根据自己的数据和需求修改代码,创建更复杂的图表。
原文地址: https://www.cveoy.top/t/topic/jjXN 著作权归作者所有。请勿转载和采集!