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")
最后插入了一个不明显的滑稽,和一个明显的滑稽