根据目的并运用常识选择最有效的图形来传达要点。
1 如果要说明空间关系,则地图或照片可能是最佳选择。
2 如果要说明比例,饼状图或条形图是首选。
3 如果要说明两个变量之间的关系,可尝试折线图或散点图。
柱状图/条形图
将一群人按一定标准分为A,B,C,D四种类型,作图展示各类型下人群的年龄分布。
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
columns = ["A","B","C","D"]
data1 = [26.86,15.56,10.62,14.07]
data2 = [36.87,28.61,25.86,41.13]
data3 = [24.38,28.58,30.32,22.74]
data4 = [10.15,21.31,26.64,18.99]
data5 = [1.74,5.95,6.57,3.07]
bar=(
Bar(
# init_opts=opts.InitOpts(theme=ThemeType.VINTAGE) # 设置主题
# width='800px', # 指定图片宽度
# height='400px', # 指定图片高度
)
.add_xaxis(columns)
.add_yaxis("≤24", data1)
.add_yaxis("25-34", data2)
.add_yaxis("35-49", data3)
.add_yaxis("50-64", data4)
.add_yaxis("≥65", data5)
# .set_colors(["blue","red","black","green","orange"]) # 柱子的颜色
# .reversal_axis() # xy轴交换
.set_global_opts(
# # 标题设置
# title_opts=opts.TitleOpts(title='title',
# subtitle='subtitle',
# # 标题文字格式
# title_textstyle_opts=opts.TextStyleOpts(color='red',
# font_size=12,
# font_family='Times New Roman',
# font_weight='bold',
#
# # 副标题文字格式 ),
# subtitle_textstyle_opts=opts.TextStyleOpts(color='blue',
# font_size=12,
# font_family='Times New Roman',
# font_weight='bold',
# ),
# )
# 图例设置
legend_opts=opts.LegendOpts(
pos_left='right', # 图例放置的位置,分上下左右,可用左右中表示,也可用百分比表示
pos_top='center',
orient='vertical', # horizontal、vertical #图例放置的方式 横着放or竖着放
textstyle_opts=opts.TextStyleOpts(
font_size=12,
font_family='Times New Roman',
),
),
xaxis_opts=opts.AxisOpts(
name='Type',
name_location='middle',
name_gap=20,
# x轴名称的格式配置
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
),
# 坐标轴刻度配置项
axistick_opts=opts.AxisTickOpts(
# is_show=False, # 是否显示
is_inside=True, # 刻度线是否在内侧
),
# 坐标轴线的配置
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(
width=1,
color='black',
)
),
# 坐标轴标签的配置
axislabel_opts=opts.LabelOpts(
font_size=12,
font_family='Times New Roman',
),
),
yaxis_opts=opts.AxisOpts(
name='Proportion(%)',
name_location='middle',
name_gap=30,
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
color='black',
# font_weight='bolder',
),
axistick_opts=opts.AxisTickOpts(
# is_show=False, # 是否显示
is_inside=True, # 刻度线是否在内侧
),
axislabel_opts=opts.LabelOpts(
font_size=12,
font_family='Times New Roman',
),
),
# 显示工具栏
toolbox_opts=opts.ToolboxOpts(is_show=True),
)
.set_series_opts(
label_opts=opts.LabelOpts(
# position="Top",
font_size=12,
font_family='Times New Roman',
)
)
)
bar.render_notebook()
输出结果

通过snapshot-selenium将pyecharts做出的图导出为png格式
安装
pip install snapshot_selenium
调用
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
make_snapshot(snapshot, bar.render(), "D:\\test.png")
本文介绍了如何使用pyecharts创建柱状图以展示不同类别的人群年龄分布,并通过snapshot-selenium将其导出为PNG格式。内容包括柱状图在数据可视化中的适用场景,以及pyecharts的使用步骤。
3万+

被折叠的 条评论
为什么被折叠?



