技巧 | Pyecharts自定义图表水印

简介: 技巧 | Pyecharts自定义图表水印

大家好,我是欧K。

本期给大家介绍pyecharts绘制图表时如何设置“水印”,主要涉及水印的大小,位置,颜色,格式等等希望对你有所帮助。


1. 导入模块

import itertools
import random
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType

注:itertools包主要用于用于水印位置的笛卡尔积计算


2. 水印样式/数量

2.1 设置水印样式

def graphics(pos,idx=6):
    return opts.GraphicGroup(
                graphic_item=opts.GraphicItem(
                    rotation=JsCode('Math.PI / 4'),
                    left=f'{pos[0]}%',
                    top=f'{pos[1]}%',
                    z=1),
                children=[
                    opts.GraphicText(
                        graphic_item=opts.GraphicItem(
                            left="center", top="middle", z=1
                        ),
                        graphic_textstyle_opts=opts.GraphicTextStyleOpts(
                            text="公众号:Python当打之年",
                            font=f"bold {idx*3}px Microsoft YaHei",
                            graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
                                fill="#808080"
                            ),
                        ),
                    ),
                ],
            )


rotation:旋转角度left/top:距离左侧和顶部的距离

fill:水印颜色

2.2 设置水印数量及相对位置

nums = 4
left_pos = [pos for pos in range(0, 100, int(100/nums))]
left_pos = [pos for pos in left_pos]
top_pos = [pos for pos in range(0, 100, int(100/nums))]
top_pos = [pos for pos in top_pos]
pos_tur = [item for item in itertools.product(left_pos,top_pos)]
nums:水印行列为4*4,可自行设置


3. 生成水印

3.1 基本水印

# 基本水印
graphics_lst = [graphics(i) for i in pos_tur]
c = (
    Bar(init_opts=opts.InitOpts(width='900px', height='600px'))
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title=""),
        graphic_opts=graphics_lst,
    )
)
c.render_notebook()

效果:

3.2 字体逐渐增大

# 字体逐渐增大
graphics_lst = [graphics(item,idx) for idx,item in enumerate(pos_tur)]

效果:


3.3 间隔方向

# 间隔反向
rotation=JsCode('Math.PI / -4' if (idx % 2) else 'Math.PI / 4')



3.4 设置颜色

graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(fill=random.choice(colors) )


效果1:

效果2:

效果3:

完。


END


以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享让更多人知道

相关文章
|
1月前
Echarts 热力图自定义开发
Echarts 热力图自定义开发
|
8月前
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
136 0
|
1月前
|
搜索推荐 数据可视化 Python
Matplotlib图表中的数据标签与图例设置
【4月更文挑战第17天】这篇文章介绍了如何在Python的Matplotlib库中设置数据标签和图例,以增强图表的可读性和解释性。主要内容包括:使用`text`函数添加基本和自定义数据标签,以及自动和手动创建图例。图例的位置和样式可通过`loc`和相关参数调整。文章强调了数据标签和图例结合使用的重要性,提供了一个综合示例来展示实践方法。良好的图表设计旨在清晰有效地传达信息。
|
10月前
|
数据可视化 数据挖掘
可视化 | Pyecharts象形柱图--图例自定义
可视化 | Pyecharts象形柱图--图例自定义
|
10月前
|
数据可视化 Python 容器
基础 | Pyecharts绘图基础之图例配置项(LegendOpts)
基础 | Pyecharts绘图基础之图例配置项(LegendOpts)
|
图形学
图表解析系列之折线图
折线图用于分析事物随时间或有序类别而变化的趋势。如果有多组数据,则用于分析多组数据随时间变化或有序类别的相互作用和影响。折线的方向表示正/负变化。折线的斜率表示变化的程度。
|
数据挖掘
图表解析系列之柱状图
作为人们最常用的图表之一,柱状图也衍生出多种多样的图表形式。例如,将多个并列的类别聚类、形成一组,再在组与组之间进行比较,这种图表叫做“分组柱状图”或“簇状柱形图”。将类别拆分称多个子类别,形成“堆叠柱状图”。再如将柱形图与折线图结合起来,共同绘制在一张图上,俗称“双轴图”,等等。
图表解析系列之饼图
● 想要突出表示某个部分在整体中所占比例; ● 分类数量最好不大于 5 个; ● 各不同分类间的占比差异明显。
图表解析系列之饼图
|
数据可视化 Python
可视化库Matplotlib-折线统计图
可视化库Matplotlib-折线统计图
可视化库Matplotlib-折线统计图
|
数据可视化 Python
自动美化你的Matplotlib ,使用Seaborn控制图表的默认值(一)
自动美化你的Matplotlib ,使用Seaborn控制图表的默认值(一)
72 0
自动美化你的Matplotlib ,使用Seaborn控制图表的默认值(一)