import pandas as pd import numpy as np from pyecharts.charts import Bar import pyecharts.options as opts path_marry = r"D:\迅雷下载\新建文件夹\数据集\数据可视化数据集\结婚离婚\结婚数据.csv" path_divorse = r"D:\迅雷下载\新建文件夹\数据集\数据可视化数据集\结婚离婚\离婚数据.csv" marry_data = pd.read_csv(path_marry) divorse_data = pd.read_csv(path_divorse) divorse_data = divorse_data.set_index(divorse_data["地区"]).drop(columns=["地区"]) show_data2 = marry_data["2019年"] show_data3 = divorse_data["2019年"] show_data4=pd.DataFrame() show_data4["结婚登记数"]=show_data2 show_data4["离婚登记数"]=show_data3 show_data4["结婚登记数占比"]=show_data4["结婚登记数"]/show_data4.sum(axis=1) show_data4["离婚登记数占比"]=1-show_data4["结婚登记数占比"] x_axis_data = show_data3.index.tolist() y_axis_data1 = show_data2.values.tolist() y_axis_data2 = show_data3.values.tolist() c = ( Bar(init_opts=opts.InitOpts(width="800px", height="700px")) .add_xaxis(x_axis_data) .add_yaxis( "2019年结婚登记数量(万对)" , y_axis_data1 ,stack="happy" ,itemstyle_opts={"color":"#006400"} ) .add_yaxis( "2019年离婚登记数量(万对)" , y_axis_data2 ,stack="happy" ) .reversal_axis() .set_series_opts(label_opts=opts.LabelOpts(position="right")) .set_global_opts( title_opts=opts.TitleOpts(title="全国各省2019年结婚登记数量(万对)") ,legend_opts=opts.LegendOpts( pos_left="40%" ,orient="vertical" ) ) ) c.render_notebook()请对这段代码修改,转为显示2个y变量的占比(总和为1)
时间: 2024-03-30 15:35:29 浏览: 19
import pandas as pd
import numpy as np
from pyecharts.charts import Bar
import pyecharts.options as opts
path_marry = r"D:\迅雷下载\新建文件夹\数据集\数据可视化数据集\结婚离婚\结婚数据.csv"
path_divorse = r"D:\迅雷下载\新建文件夹\数据集\数据可视化数据集\结婚离婚\离婚数据.csv"
marry_data = pd.read_csv(path_marry)
divorse_data = pd.read_csv(path_divorse)
divorse_data = divorse_data.set_index(divorse_data["地区"]).drop(columns=["地区"])
show_data2 = marry_data["2019年"]
show_data3 = divorse_data["2019年"]
total = show_data2 + show_data3
show_data4=pd.DataFrame()
show_data4["结婚登记数"]=show_data2/total
show_data4["离婚登记数"]=show_data3/total
x_axis_data = show_data3.index.tolist()
y_axis_data1 = show_data4["结婚登记数"].values.tolist()
y_axis_data2 = show_data4["离婚登记数"].values.tolist()
c = (
Bar(init_opts=opts.InitOpts(width="800px", height="700px"))
.add_xaxis(x_axis_data)
.add_yaxis(
"结婚登记数占比",
y_axis_data1,
stack="happy",
itemstyle_opts={"color":"#006400"}
)
.add_yaxis(
"离婚登记数占比",
y_axis_data2,
stack="happy")
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(
title_opts=opts.TitleOpts(title="全国各省2019年结婚离婚登记占比"),
legend_opts=opts.LegendOpts(
pos_left="40%",
orient="vertical"))
)
c.render_notebook()