from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line
bar = (
Bar()
.add_xaxis(["{}年".format(i) for i in range(2010, 2020)])
.add_yaxis(
"中国GDP",
[6.09, 7.55, 8.53, 9.57, 10.48, 11.06, 11.23, 12.31, 13.89, 14.28],
yaxis_index=0,
color="#d14a61",
)
.add_yaxis(
"美国GDP",
[14.99, 15.544, 16.2, 16.78, 17.53, 18.22, 18.71, 19.52, 20.58, 21.43],
yaxis_index=1,
color="#5793f3",
)
.extend_axis(
yaxis=opts.AxisOpts(
name="中国GDP",
type_="value",
min_=0,
max_=25,
position="right",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#d14a61")
),
axislabel_opts=opts.LabelOpts(formatter="{value} 万亿美元"),
)
)
.extend_axis(
yaxis=opts.AxisOpts(
type_="value",
name="占比",
min_=0,
max_=20,
position="left",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#675bba")
),
axislabel_opts=opts.LabelOpts(formatter="{value} %"),
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)
),
)
)
.set_global_opts(
yaxis_opts=opts.AxisOpts(
name="美国GDP",
min_=0,
max_=25,
position="right",
offset=80,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#5793f3")
),
axislabel_opts=opts.LabelOpts(formatter="{value} 万亿美元"),
),
title_opts=opts.TitleOpts(title="中国与美国、日本GDP比较"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
legend_opts=opts.LegendOpts(pos_left="25%"),
)
)
line = (
Line()
.add_xaxis(["{}年".format(i) for i in range(2010, 2020)])
.add_yaxis(
"中国占比",
[9.2, 10.2, 11.3, 12.3, 13.1, 14.7, 14.7, 15.1, 16.0, 16.2],
yaxis_index=2,
color="#675bba",
label_opts=opts.LabelOpts(is_show=False),
)
)
bar1 = (
Bar()
.add_xaxis(["{}年".format(i) for i in range(2010, 2020)])
.add_yaxis(
"中国GDP 1",
[6.09, 7.55, 8.53, 9.57, 10.48, 11.06, 11.23, 12.31, 13.89, 14.28],
color="#d14a61",
xaxis_index=1,
yaxis_index=3,
)
.add_yaxis(
"日本GDP",
[5.7, 6.16, 6.2, 5.16, 4.85, 4.39, 4.92, 4.87, 4.95, 5.08],
color="#5793f3",
xaxis_index=1,
yaxis_index=3,
)
.extend_axis(
yaxis=opts.AxisOpts(
name="中国GDP",
type_="value",
min_=0,
max_=16,
position="right",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#d14a61")
),
axislabel_opts=opts.LabelOpts(formatter="{value} 万亿美元"),
)
)
.extend_axis(
yaxis=opts.AxisOpts(
type_="value",
name="占比",
min_=0,
max_=20,
position="left",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#675bba")
),
axislabel_opts=opts.LabelOpts(formatter="{value} %"),
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)
),
)
)
.set_global_opts(
xaxis_opts=opts.AxisOpts(grid_index=1),
yaxis_opts=opts.AxisOpts(
name="日本GDP",
min_=0,
max_=15,
position="right",
offset=80,
grid_index=1,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#5793f3")
),
axislabel_opts=opts.LabelOpts(formatter="{value} 万亿美元"),
),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
legend_opts=opts.LegendOpts(pos_left="65%"),
)
)
line1 = (
Line()
.add_xaxis(["{}年".format(i) for i in range(2010, 2020)])
.add_yaxis(
"中国占比",
[9.2, 10.2, 11.3, 12.3, 13.1, 14.7, 14.7, 15.1, 16.0, 16.2],
color="#675bba",
label_opts=opts.LabelOpts(is_show=False),
xaxis_index=1,
yaxis_index=5,
)
)
overlap_1 = bar.overlap(line)
overlap_2 = bar1.overlap(line1)
grid = (
Grid(init_opts=opts.InitOpts(width="1200px", height="800px"))
.add(
overlap_1, grid_opts=opts.GridOpts(pos_right="58%"), is_control_axis_index=True
)
.add(overlap_2, grid_opts=opts.GridOpts(pos_left="58%"), is_control_axis_index=True)
.render("组合图.html")
)
14.小结-----组合图
おすすめ
転載: blog.csdn.net/m0_46222433/article/details/119879380
おすすめ
ランキング