# 导入各种相关的包
from pyecharts.commons.utils import JsCode # 导入js代码库,可以调用一些js方法
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid # 导入网格库
from pyecharts.globals import ThemeType # 导入主题库
示例代码:
# 例1 基本示例
# 示例数据
cate = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
data1 = [123, 153, 89, 107, 98, 23]
data2 = [56, 77, 93, 68, 45, 67]
bar1=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
# 使用副标题属性subtitle
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例",subtitle="副标题"))
)
bar1.render_notebook()
修改为自己的代码:
# 导入各种相关的包
from pyecharts.commons.utils import JsCode # 导入js代码库,可以调用一些js方法
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid # 导入网格库
from pyecharts.globals import ThemeType # 导入主题库
# 例1 基本示例
# 示例数据
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar1=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
# 使用副标题属性subtitle
.set_global_opts(title_opts=opts.TitleOpts(title="各品类销售业绩图",subtitle="2020年5月份"))
)
bar1.render_notebook()
示例代码(渐变圆柱):
# 导入各种相关的包
from pyecharts.commons.utils import JsCode # 导入js代码库,可以调用一些js方法
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid # 导入网格库
from pyecharts.globals import ThemeType # 导入主题库
# 例2 渐变圆柱
bar2=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values(),category_gap="60%")
# category_gap是同一系列的柱间距离,默认为类目间距的 20%,可设固定值
.set_series_opts(itemstyle_opts={# set_series_opts设置系列配置
"normal":{ # normal代表一般、正常情况
# LinearGradient 设置线性渐变,offset为0是柱子0%处颜色,为1是100%处颜色
"color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(0, 233, 245, 1)'
}, {
offset: 1,
color: 'rgba(0, 45, 187, 1)'
}], false)"""),
"barBorderRadius": [30, 30, 30, 30],# 设置柱子4个角为30变成圆柱
"shadowColor": 'red',# 阴影颜色
}})
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-渐变圆柱"))
)
bar2.render_notebook()
# 导入各种相关的包
from pyecharts.commons.utils import JsCode # 导入js代码库,可以调用一些js方法
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid # 导入网格库
from pyecharts.globals import ThemeType # 导入主题库
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
# 例2 渐变圆柱
bar2=(
Bar()
.add_xaxis(cate)
# 通过修改 category_gap="60%" 参数可以调节柱形图的宽度
.add_yaxis("销售额",data1,category_gap="60%")
# category_gap是同一系列的柱间距离,默认为类目间距的 20%,可设固定值
.set_series_opts(itemstyle_opts={# set_series_opts设置系列配置
"normal":{ # normal代表一般、正常情况
# LinearGradient 设置线性渐变,offset为0是柱子0%处颜色,为1是100%处颜色
"color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(0, 233, 245, 1)'
}, {
offset: 1,
color: 'rgba(0, 45, 187, 1)'
}], false)"""),
"barBorderRadius": [30, 30, 30, 30],# 设置柱子4个角为30变成圆柱
"shadowColor": 'red',# 阴影颜色
}})
.set_global_opts(title_opts=opts.TitleOpts(title="各品类销售业绩图",subtitle="2020年5月份"))
)
bar2.render_notebook()
# 例3 动画配置基本示例
bar3=(
Bar( # init_opts是初始化属性设置,animation_delay是初始动画的时长,默认值为 1000。
init_opts=opts.InitOpts(
animation_opts=opts.AnimationOpts(# animation_easing是初始动画的缓动效果
animation_delay=1000,animation_easing="elasticOut",
)
)
)
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-动画配置基本示例",subtitle="副标题")
)
)
bar3.render_notebook()
# 例4 背景图基本示例
bar4=(
Bar(
init_opts=opts.InitOpts(
bg_color={
"type":"pattern",
"image":JsCode("img"),
"repeat":"no-repeat",
}# bg_color是设置背景颜色,这里image是设置图片背景,repeat设置no-repeat不重复
)
)
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(
title="Bar-背景图基本示例",
subtitle="副标题",
title_textstyle_opts=opts.TextStyleOpts(color='red'),
)
)
)
# 这里添加图片src连接,也可以换其他图片的网址
bar4.add_js_funcs(
'''
var img=new Image();img.src='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1571897969384&di=e417611ecd20f69eee6c549ef44e357e&imgtype=0&src=http%3A%2F%2Fimg8.zol.com.cn%2Fbbs%2Fupload%2F18863%2F18862812.JPG';
'''
)
bar4.render_notebook()
修改套用的代码:
# 导入各种相关的包
from pyecharts.commons.utils import JsCode # 导入js代码库,可以调用一些js方法
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid # 导入网格库
from pyecharts.globals import ThemeType # 导入主题库
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
# 例4 背景图基本示例
bar4=(
Bar(
init_opts=opts.InitOpts(
bg_color={
"type":"pattern",
"image":JsCode("img"),
"repeat":"no-repeat",
}# bg_color是设置背景颜色,这里image是设置图片背景,repeat设置no-repeat不重复
)
)
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.set_global_opts(
title_opts=opts.TitleOpts(
title="各品类销售业绩(单位:亿)",
subtitle="2020年5月份",
title_textstyle_opts=opts.TextStyleOpts(color='red'),
)
)
)
# 这里添加图片src连接,也可以换其他图片的网址
bar4.add_js_funcs(
'''
var img=new Image();img.src='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1571897969384&di=e417611ecd20f69eee6c549ef44e357e&imgtype=0&src=http%3A%2F%2Fimg8.zol.com.cn%2Fbbs%2Fupload%2F18863%2F18862812.JPG';
'''
)
bar4.render_notebook()
# 例5 通过dict进行配置
bar5=(
Bar({"theme":ThemeType.CHALK})# ThemeType这里使用到一个主题CHALK,使用pycharm也可以查看其他主题
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.set_global_opts(
title_opts={"text":"Bar-通过dict进行配置标题","subtext":"我是通过dict进行配置副标题"},
)
)
bar5.render_notebook()
# 导入各种相关的包
from pyecharts.commons.utils import JsCode # 导入js代码库,可以调用一些js方法
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid # 导入网格库
from pyecharts.globals import ThemeType # 导入主题库
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
# 例5 通过dict进行配置
bar5=(
Bar({"theme":ThemeType.CHALK})# ThemeType这里使用到一个主题CHALK,使用pycharm也可以查看其他主题
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.set_global_opts(
title_opts={"text":"各品类销售业绩(单位:亿)","subtext":"2020年5月份"},
)
)
bar5.render_notebook()
# 例6 默认取消显示某series
bar6=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values(),is_selected=False) # 这个系列数据设置默认不选择显示
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-默认取消显示某 series"))
)
bar6.render_notebook()
# 例6 默认取消显示某series
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar6=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2,is_selected=False) # 这个系列数据设置默认不选择显示
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-默认取消显示某 series"))
)
bar6.render_notebook()
# 例7 显示toolbox
bar7=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-显示 toolbox"),
toolbox_opts=opts.ToolboxOpts(),# 这里使用toolbox_optx图表就右上方有一些工具
legend_opts=opts.LegendOpts(is_show=False)# 隐藏图例
)
)
bar7.render_notebook()
# 例7 显示toolbox
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar7=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-显示 toolbox"),
toolbox_opts=opts.ToolboxOpts(),# 这里使用toolbox_optx图表就右上方有一些工具
legend_opts=opts.LegendOpts(is_show=False)# 隐藏图例
)
)
bar7.render_notebook()
# 例8 单系列柱间距离
bar8=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values(),category_gap="80%")# category_gap设置单系列柱间距离
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-单系列柱间距离"))
)
bar8.render_notebook()
# 例8 单系列柱间距离
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar8=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售金额",data1,category_gap="80%")# category_gap设置单系列柱间距离
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-单系列柱间距离"))
)
bar8.render_notebook()
# 例9 不同系列柱间距离
bar9=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A",Faker.values(),gap="0%")# gap设置不同系列柱间距离
.add_yaxis("商家B",Faker.values(),gap="0%")
.set_global_opts(
title_opts=opts.TitleOpts(title='Bar-不同系列柱间距离')
)
)
bar9.render_notebook()
# 例9 不同系列柱间距离
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar9=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1,gap="0%")# gap设置不同系列柱间距离
.add_yaxis("毛利额",data2,gap="0%")
.set_global_opts(
title_opts=opts.TitleOpts(title="各部门销售业绩")
)
)
bar9.render_notebook()
# 例10 Y轴 formatter
bar10=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-Y 轴 formatter"),
yaxis_opts=opts.AxisOpts(# formatter定义x轴标签格式,{}大括号里面放格式化的y轴标签值
axislabel_opts=opts.LabelOpts(formatter='{value} / 年')
)
)
)
bar10.render_notebook()
# 例10 Y轴 formatter
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar10=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-Y 轴 formatter"),
yaxis_opts=opts.AxisOpts(# formatter定义x轴标签格式,{}大括号里面放格式化的y轴标签值
axislabel_opts=opts.LabelOpts(formatter='{value} / 年')
)
)
)
bar10.render_notebook()
# 例11 XY轴名称
bar11=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-XY轴名称"),
yaxis_opts=opts.AxisOpts(name="Y轴名字"),# 设置y轴名字,x轴同理
xaxis_opts=opts.AxisOpts(name="X轴名字")
)
)
bar11.render_notebook()
# 例11 XY轴名称
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar11=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-XY轴名称"),
yaxis_opts=opts.AxisOpts(name="Y轴名字"),# 设置y轴名字,x轴同理
xaxis_opts=opts.AxisOpts(name="X轴名字")
)
)
bar11.render_notebook()
# 例12 翻转XY轴
bar12=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.reversal_axis()# 倒转x轴与y轴,变成条形图
.set_series_opts(label_opts=opts.LabelOpts(position="right")) # 改变图例位置
.set_global_opts(title_opts=opts.TitleOpts(title="Bar 翻转 xy轴"))
)
bar12.render_notebook()
# 例12 翻转XY轴
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar12=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.reversal_axis()# 倒转x轴与y轴,变成条形图
.set_series_opts(label_opts=opts.LabelOpts(position="right")) # 改变图例位置
.set_global_opts(title_opts=opts.TitleOpts(title="Bar 翻转 xy轴"))
)
bar12.render_notebook()
# 例13 堆叠数据(全部)
bar13=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values(),stack='stack1')# 将2个y系列数值stack设置相同名字,变堆叠图
.add_yaxis("数据2",Faker.values(),stack='stack1')
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title='Bar 堆叠数据'))
)
bar13.render_notebook()
# 例13 堆叠数据(全部)
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar13=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1,stack='stack1')# 将2个y系列数值stack设置相同名字,变堆叠图
.add_yaxis("成本",data2,stack='stack1')
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title='Bar 堆叠数据'))
)
bar13.render_notebook()
# 例14 堆叠数据(部分)
bar14=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values(),stack='stack1')# 堆叠数据
.add_yaxis('数据2',Faker.values(),stack='stack1')# 堆叠数据
.add_yaxis('数据3',Faker.values())# 不堆叠数据
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title='Bar 堆叠数据(部分)'))
)
bar14.render_notebook()
# 例14 堆叠数据(部分)
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar14=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1,stack='stack1')# 堆叠数据
.add_yaxis("成本",data2,stack='stack1')# 堆叠数据
.add_yaxis("成本",data2)# 不堆叠数据
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title='Bar 堆叠数据(部分)'))
)
bar14.render_notebook()
# 例15 MarkPoint (指定类型)
bar15=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1",Faker.values())
.add_yaxis("数据2",Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title='Bar MarkPoint(指定类型)'))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markpoint_opts=opts.MarkPointOpts(
data=[
opts.MarkPointItem(type_='max',name='最大值'),# 最大值标记点
opts.MarkPointItem(type_='min',name='最小值'),# 最小值标记点
opts.MarkPointItem(type_='average',name='平均值')# 平均值标记点
]
)
)
)
bar15.render_notebook()
# 例15 MarkPoint (指定类型)
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar15=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.set_global_opts(title_opts=opts.TitleOpts(title='Bar MarkPoint(指定类型)'))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markpoint_opts=opts.MarkPointOpts(
data=[
opts.MarkPointItem(type_='max',name='最大值'),# 最大值标记点
opts.MarkPointItem(type_='min',name='最小值'),# 最小值标记点
opts.MarkPointItem(type_='average',name='平均值')# 平均值标记点
]
)
)
)
bar15.render_notebook()
# 例16 MarkPoint(自定义)
x,y=Faker.choose(),Faker.values()
bar16=(
Bar()
.add_xaxis(x)
.add_yaxis(
'数据1',
y,
markpoint_opts=opts.MarkPointOpts(# coord设置自定义标记点数值
data=[opts.MarkPointItem(name='自定义标记点',coord=[x[2],y[2]],value=y[2])]
)
)
.add_yaxis('数据2',Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title='Bar MarkPoint(自定义)'))
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
)
bar16.render_notebook()
# 例16 MarkPoint(自定义)
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
x,y=Faker.choose(),Faker.values()
bar16=(
Bar()
.add_xaxis(cate)
.add_yaxis(
'数据1',
data1,
markpoint_opts=opts.MarkPointOpts(# coord设置自定义标记点数值
data=[opts.MarkPointItem(name='自定义标记点',coord=[x[2],y[2]],value=y[2])]
)
)
.add_yaxis('数据2',data2)
.set_global_opts(title_opts=opts.TitleOpts(title='Bar MarkPoint(自定义)'))
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
)
bar16.render_notebook()
# 例17 MarkLine (指定类型)
bar17=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis('数据1',Faker.values())
.add_yaxis('数据2',Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title='Bar MarkLine(指定类型)'))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markline_opts=opts.MarkLineOpts(
data=[
opts.MarkLineItem(type_='min',name='最小值'),# 最小值标记线
opts.MarkLineItem(type_='max',name='最大值'),# 最大值标记线
opts.MarkLineItem(type_='average',name='平均值')# 平均值标记线
]
)
)
)
bar17.render_notebook()
# 例17 MarkLine (指定类型)
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar17=(
Bar()
.add_xaxis(cate)
.add_yaxis("销售额",data1)
.add_yaxis("毛利额",data2)
.set_global_opts(title_opts=opts.TitleOpts(title='Bar MarkLine(指定类型)'))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markline_opts=opts.MarkLineOpts(
data=[
opts.MarkLineItem(type_='min',name='最小值'),# 最小值标记线
opts.MarkLineItem(type_='max',name='最大值'),# 最大值标记线
opts.MarkLineItem(type_='average',name='平均值')# 平均值标记线
]
)
)
)
bar17.render_notebook()
# 例18 MarkLine(自定义)
bar18 = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("数据1", Faker.values())
.add_yaxis("数据2", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkLine(自定义)"))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markline_opts=opts.MarkLineOpts(
data=[opts.MarkLineItem(y=70, name="yAxis=70")]# 自定义标记线
),
)
)
bar18.render_notebook()
# 例18 MarkLine(自定义)
# 修改后的代码,list类型输入
cate = ["零食","蛋类","奶制品","水产","水果","肉类","蔬菜"]
data1 = [100,150,200,250,300,350,400]
data2 = [10,15,20,25,30,35,40]
bar18 = (
Bar()
.add_xaxis(cate)
.add_yaxis("销售额", data1)
.add_yaxis("毛利额", data2)
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkLine(自定义)"))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markline_opts=opts.MarkLineOpts(
data=[opts.MarkLineItem(y=70, name="yAxis=70")]# 自定义标记线
),
)
)
bar18.render_notebook()
# 例19 Datazoom(slider-水平)
bar19=(
Bar()
.add_xaxis(Faker.days_attrs)
.add_yaxis('数据1',Faker.days_values)
.set_global_opts(
title_opts=opts.TitleOpts(title='Bar-Datazoom(slider-水平)'),
datazoom_opts=opts.DataZoomOpts()# datazoom设置缩放,默认是可以滑动的
)
)
bar19.render_notebook()
# 例20 DataZoom(slider-垂直)
bar20=(
Bar()
.add_xaxis(Faker.days_attrs)
.add_yaxis('数据1',Faker.days_values,color=Faker.rand_color())
.set_global_opts(
title_opts=opts.TitleOpts(title='Bar-DataZoom(slider-垂直)'),
datazoom_opts=opts.DataZoomOpts(orient='vertical')# vertical将缩放设为垂直
)
)
bar20.render_notebook()
# 例21 DataZoom(inside)
bar21=(
Bar()
.add_xaxis(Faker.days_attrs)
.add_yaxis('数据1',Faker.days_values,color=Faker.rand_color())
.set_global_opts(
title_opts=opts.TitleOpts(title='Bar DataZoom(inside)'),
datazoom_opts=opts.DataZoomOpts(type_='inside')# 这个是在图表里面的缩放
)
)
bar21.render_notebook()
# 例22 DataZoom(slide+inside)
bar22=(
Bar()
.add_xaxis(Faker.days_attrs)
.add_yaxis('数据1',Faker.days_values,color=Faker.rand_color())
.set_global_opts(
title_opts=opts.TitleOpts(title='Bar DataZoom(slider+inside)'),
datazoom_opts=[opts.DataZoomOpts(),opts.DataZoomOpts(type_='inside')]
# 缩放要滑动加里面需调用2次缩放方法,用中括号[]括起来
)
)
bar22.render_notebook()
# 例23 旋转X轴标签
bar23=(
Bar(init_opts=opts.InitOpts(width='1200px',height='700px'))
.add_xaxis(
[
"2015/02/22",
"名字很长的X轴标签2",# 标签定义长点看效果
"名字很长的X轴标签3",
"名字很长的X轴标签4",
"名字很长的X轴标签5",
"名字很长的X轴标签6",
]
)
.add_yaxis("数据1", [10, 20, 30, 40, 50, 40])
.add_yaxis("数据2", [20, 10, 40, 30, 40, 50])
.set_global_opts(
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=25),),# rotate设置x轴标签旋转度数,按坐标轴正方向开始
title_opts=opts.TitleOpts(title='Bar 旋转x轴标签',subtitle='解决标签过长问题')
)
)
bar23.render_notebook()