pyecharts Graphic使用(加水印)

Graphic

添加文字

可以通过添加文字作为水印
首先随便选一个图

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

c = Bar()
c.add_xaxis(Faker.choose())
c.add_yaxis("商家A", Faker.values(), stack="stack1")
c.add_yaxis("商家B", Faker.values(), stack="stack1")
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
c.set_global_opts(title_opts=opts.TitleOpts(title="Bar-堆叠数据(全部)"))
c.render("./picture/bar_stack0.html")

图片
大概长这样
接下来使用Graphic增加水印

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
from  pyecharts.commons.utils import JsCode

c = Bar()
c.add_xaxis(Faker.choose())
c.add_yaxis("商家A", Faker.values(), stack="stack1")
c.add_yaxis("商家B", Faker.values(), stack="stack1")
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
c.set_global_opts(
    title_opts=opts.TitleOpts(title="Bar-堆叠数据(全部)")
    ,graphic_opts=[
        opts.GraphicGroup(
            #定位位置    具体配置看官方文档https://pyecharts.org/#/zh-cn/global_options?id=graphicrect%ef%bc%9a%e5%8e%9f%e7%94%9f%e5%9b%be%e5%bd%a2%e7%9f%a9%e5%bd%a2%e9%85%8d%e7%bd%ae%e9%a1%b9
            graphic_item=opts.GraphicItem(
                rotation=JsCode("Math.PI*1.75"),right=110, top=10,z=100
            ),
            children=[
            #定义矩阵图形框 
                opts.GraphicRect(
                    graphic_item=opts.GraphicItem(
                            right="center",top="center", z=100
                        ),
                #定义矩阵图形形状
                graphic_shape_opts=opts.GraphicShapeOpts(width=200,height=20),
                #定义矩阵图形样式
                graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
                    fill="rgb(220,220,220)",stroke='black'
                )
            ),
#             定义文字
            opts.GraphicText(
                graphic_item=opts.GraphicItem(
                    right='center', top='center',z=100
                ),
                graphic_textstyle_opts=opts.GraphicTextStyleOpts(
                    #文本内容
                    text='这是一个水印!!',
                    #文字样式
                    font='bolder 26px Microsoft YaHei',
                    graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
                        #文字配上猛男色
                        fill='pink'
                    )
            )
        )
            ]
        )
    ]
                             
)
c.render("./picture/bar_stack0.html")

图片
结果水印添加完成

添加图片

随便选个图
图片
就这个吧

接下来就是添加图片

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
from  pyecharts.commons.utils import JsCode

c = Bar()
c.add_xaxis(Faker.choose())
c.add_yaxis("商家A", Faker.values(), stack="stack1")
c.add_yaxis("商家B", Faker.values(), stack="stack1")
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
c.set_global_opts(
    title_opts=opts.TitleOpts(title="Bar-堆叠数据(全部)")
    ,graphic_opts=[
    #图片1处理
        opts.GraphicImage(
        #设置名称和位置
            graphic_item=opts.GraphicItem(
                id_="滑稽1", right='center', top=50, z=-10,origin=[75, 75]
            ),
             #设置图片
                graphic_imagestyle_opts=opts.GraphicImageStyleOpts(
                    image="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fgss0.baidu.com%2F-4o3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fwh%253D450%252C600%2Fsign%3D0ce9b22a46086e066afd374f373857c2%2Fac6eddc451da81cb8dabadd65866d0160924315f.jpg&refer=http%3A%2F%2Fgss0.baidu.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639731617&t=5d03cfab0f0a114e7aeed99a7c75bc64",
                    width=150,
                    height=150,
                    opacity=0.1,
                )
        ),
         #图片2处理 跟图片1相同
        opts.GraphicImage(
            graphic_item=opts.GraphicItem(
                id_="滑稽2", right=20, top=30, z=-10,origin=[75, 75]
            ),
                graphic_imagestyle_opts=opts.GraphicImageStyleOpts(
                    image="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fgss0.baidu.com%2F-4o3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fwh%253D450%252C600%2Fsign%3D0ce9b22a46086e066afd374f373857c2%2Fac6eddc451da81cb8dabadd65866d0160924315f.jpg&refer=http%3A%2F%2Fgss0.baidu.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639731617&t=5d03cfab0f0a114e7aeed99a7c75bc64",
                    width=150,
                    height=150,
                    opacity=1,
                )
        )
    ]
                             
)
c.render("./picture/bar_stack0.html")

插入图片
最后插入了一个不明显的滑稽,和一个明显的滑稽