用pyecharts作各种炫酷的柱状图

# 导入各种相关的包
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()

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值