from pyecharts.charts import Bar, Line # 导入要制作图形的种类(柱形图和折线图)
from pyecharts import options as opts # 导入配置项
from pyecharts.faker import Faker # faker用于自动生成数据
from pyecharts.globals import ThemeType, RenderType # 导入主题类型和渲染类型(可以渲染成html文件,png文件等)
# 创建一个柱形图
bar = (
Bar(
# 初始化配置项
init_opts=opts.InitOpts(
width="700px",
height="400px", # 设置图标画布大小
renderer=RenderType.CANVAS, # 设置渲染风格
page_title="网页标题", # 设置网页标题
theme=ThemeType.WHITE, # 主题
bg_color="white", # 背景颜色
)
)
# 添加图像元素(x轴和y轴的数据)
.add_xaxis(Faker.choose()) # 自动生成7个相同种类的名词
.add_yaxis("商家1", Faker.values()) # 自动生成7个对应的数据
.add_yaxis("商家2", Faker.values()) # 自动生成7个对应的数据
# 设置全局配置项
.set_global_opts(
# TitleOpts:标题配置项
title_opts=opts.TitleOpts(
title="柱形图", # 主标题名称
title_link="https://www.baidu.com", # 给主标题设置超链接
title_target="blank", # 选择超链接的打开方式,blank为在一个新窗口打开,self为在当前页面打开
subtitle="副标题", # 副标题名称
subtitle_link="https://www.baidu.com",
subtitle_target="blank",
pos_left="0px", # 设置主标题和副标题的位置,可以是px,%和关键字(left,center,right等)
pos_top="0px",
padding=20, # 内边距,没有单位
item_gap=5 # 主标题和副标题之间的间隙
),
# 区域缩放配置项
datazoom_opts=opts.DataZoomOpts(
is_show=True, # 是否显示组件
type_="slider", # 组件的类型,包括:slider,和inside,slider显示在图像的下方,inside不显示出来,把鼠标放到图像上根据滚轮进行缩放
is_realtime=True, # 拖动组件时是否实时更新图像(默认为True)
range_start=0, # 组件起始位置占整个组件的百分比
range_end=100, # 组件末尾位置占整个组件的百分比
orient="horizontal", # horizontal显示水平内容,或vertical显示垂直内容(默认为horizontal)
is_zoom_lock=False # 是否锁定选择区域,如果锁定则只能移动,不能缩放
),
# LegendOpts:图例配置项
legend_opts=opts.LegendOpts(
type_="plain", # 图例类型,包括:plain普通图例,scroll可以滚动翻页的图例,用于图例较多的情况
is_show=True, # 是否显示图例
pos_top="0px", # 图例显示位置,设置方法与标题的类似
orient="vertical", # 设置图例的显示方式,horizontal水平,vertical垂直
selected_mode="False", # 设置选择模式,True:开启图例点击,False:关闭图例点击,single:单选,multiple:多选
align="right", # 设置图标和文字的位置(right表示图标在右)
padding=10, # 设置内边距
item_gap=5, # 图例之间的间隙大小
item_width=30,
item_height=15, # 图例中每一项的高度和宽度
inactive_color="#ccc", # 图例关闭时的颜色(每个项都没被选中)
legend_icon="diamond" # 图标样式的选择:circle圆,rect矩形,roundRect圆角矩形,triangle三角形,diamond菱形等
# 还可以加入路径来使用自定义的图标
),
# VisualMapOpts:视觉映射配置项
visualmap_opts=opts.VisualMapOpts(
is_show=True, # 是否显示
type_="color", # color或size
min_=0, # 设置配置项的最大值和最小值
max_=150, # 如果数据超过最大值用最大值的颜色显示
range_opacity=0.7, # 透明度
range_text=["max", "min"], # 组件两端显示的文字
range_color=["blue", "red"], # 过渡颜色,可以同时包含多种颜色
orient="vertical", # 显示方式,垂直或水平,vertical或horizontal
pos_right="5%",
pos_bottom="0%", # 设置位置
is_piecewise=False, # 是否为分段型
is_inverse=False # 是否反转(上下互换位置)
),
# TooltipOpts:提示框配置项
tooltip_opts=opts.TooltipOpts(
is_show=True, # 是否显示,如果显示则在鼠标移动到柱形图上时会出现相应信息
trigger="item",
# 触发类型
# item:数据项,一般用于散点图,柱形图,饼图
# axis:坐标轴,提示线,主要用于条形图,折线图
trigger_on="mousemove|click", # 触发条件:mouse,click,mousemove|click,分别为鼠标移动触发,点击触发,鼠标移动或点击触发
formatter="{a}:{b}-{c}",
# 设置标签内容的格式
# {a}表示系列名,{b}表示数据名,{c}表示值
background_color="black", # 设置提示标签的背景颜色
border_color="white", # 设置提示标签的边框颜色
border_width=1 # 设置边框宽度
),
# AxisOpts:坐标轴配置项
xaxis_opts=opts.AxisOpts(
is_show=True, # 是否显示x轴
type_="category",
# 坐标轴类型
# value:数值轴,用于连续数据
# category:类目轴,用于离散数据,如:星期一,星期二
# time:时间轴,用于连续的时序数据
axisline_opts=opts.AxisLineOpts(is_show=True), # 是否显示x轴的线
axistick_opts=opts.AxisTickOpts(is_show=True), # 是否显示x轴的刻度
),
yaxis_opts=opts.AxisOpts(
is_show=True, # 是否显示y轴
axisline_opts=opts.AxisLineOpts(is_show=True), # 是否显示y轴的线
axistick_opts=opts.AxisTickOpts(is_show=True), # 是否显示y轴的刻度
)
)
)
bar.render()
【pyecharts】基本柱形图的创建
最新推荐文章于 2024-06-14 11:20:52 发布