画【Python折线图】的一百个学习报告(三、设置全局 Label 颜色)

简介: 画【Python折线图】的一百个学习报告(三、设置全局 Label 颜色)

画【Python折线图】的一百个学习报告(三、设置全局 Label 颜色)


前言

       本系列文章主要针对Python语言【pyecharts】库生成折线图功能进行深入探究与二次开发而撰写的,专栏文章的作用是帮助大家在工作中【快速】、【高效】、【美观】、【大气】的展示各种适合【折线图】的数据,且只针对折线图,我相信折线图才是最美的图表,在折线图中你能找到真正的数学之美,当前只针对生成网页类型可以截图使用,也可以通过录制操作过程生成小视频的方式使用,后期我会想办法针对视频自动演示进行研究,可能前几十篇或甚至是上百篇文章都是对折线图的具体探究与深度学习,后面的文章我会写一些功能类的GUI工具,用于生成各类折线图,有望在2024年的年会PPT汇报上给予大家【唯美】的帮助。

学习环境

系统环境:win11

开发工具:PyCharm Community Edition 2022.3.1

Python版本:Python 3.9.6

Pythob库:主要是【pyecharts】,如果涉及到网络获取则需要依赖爬虫的库,可参考【看完这个,还不会【Python爬虫环境】,请你吃瓜

探究目标

设置x轴的数据显示,设置y轴线的样式。

分析过程

由于add_xaxis只有两个参数(self,data),故而我们只能针对add_yaxis来进行设置,对应的设置有很多,我这里在源码中给了对应的解释,这个注释还是很全的,希望能帮助到你。

实践过程

这里是核心的一些属性:

# 显示x轴字体的样式

label_opts=opts.LabelOpts(

   # is_show=True 是否显示标签

   is_show=True,


   # position 标签的位置 可选 'top','left','right','bottom','inside','insideLeft','insideRight'.....

   position='bottom',


   # font_size 文字的字体大小

   font_size=20,


   # color 文字的颜色

   color='black',


   # font_style 文字字体的风格,可选 'normal','italic','oblique'

   font_style='italic',  # 斜体


   # font_weight 文字字体的粗细  'normal','bold','bolder','lighter'

   font_weight="bolder",


   # font_family 字体 'Arial', 'Courier New', 'Microsoft YaHei(微软雅黑)' ....

   font_family="黑体",


   # rotate 标签旋转 从 -90 度到 90 度。正值是逆时针

   rotate='25',


   # margin 刻度标签与轴线之间的距离

   margin=20,


   # 坐标轴刻度标签的显示间隔,在类目轴中有效。Union[Numeric, str, None]

   # 默认会采用标签不重叠的策略间隔显示标签。

   # 可以设置成 0 强制显示所有标签。

   # 如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。

   # 可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:

   # (index:number, value: string) => boolean

   # 第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 false。

   interval=None,


   # horizontal_align 文字水平对齐方式,默认自动。可选:'left','center','right'

   horizontal_align='center',


   # vertical_align 文字垂直对齐方式,默认自动。可选:'top','middle','bottom'

   vertical_align=None,

))


完整注释的代码:

from pyecharts.charts import Bar, Page, Line
from pyecharts import options as opts
def line_charts(x, y, title):
    """生成HTML文件"""
    c = Line()
    # 对工具箱中名称修改
    data_zoom = {
        "show": True,
        "title": {"缩放": "数据缩放", "还原": "缩放数据还原"}
    }
    # 设置x轴
    c.add_xaxis(xaxis_data=x, )
    # 设置y轴
    c.add_yaxis(
        # 设置title
        series_name=title,
        # y轴数据
        y_axis=y,
        # 线的颜色
        color="red",
        # 是否平滑
        is_smooth=True,
        # 显示x轴字体的样式
        label_opts=opts.LabelOpts(
            # is_show=True 是否显示标签
            is_show=True,
            # position 标签的位置 可选 'top','left','right','bottom','inside','insideLeft','insideRight'.....
            position='bottom',
            # font_size 文字的字体大小
            font_size=20,
            # color 文字的颜色
            color='black',
            # font_style 文字字体的风格,可选 'normal','italic','oblique'
            font_style='italic',  # 斜体
            # font_weight 文字字体的粗细  'normal','bold','bolder','lighter'
            font_weight="bolder",
            # font_family 字体 'Arial', 'Courier New', 'Microsoft YaHei(微软雅黑)' ....
            font_family="黑体",
            # rotate 标签旋转 从 -90 度到 90 度。正值是逆时针
            rotate='25',
            # margin 刻度标签与轴线之间的距离
            margin=20,
            # 坐标轴刻度标签的显示间隔,在类目轴中有效。Union[Numeric, str, None]
            # 默认会采用标签不重叠的策略间隔显示标签。
            # 可以设置成 0 强制显示所有标签。
            # 如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。
            # 可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:
            # (index:number, value: string) => boolean
            # 第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 false。
            interval=None,
            # horizontal_align 文字水平对齐方式,默认自动。可选:'left','center','right'
            horizontal_align='center',
            # vertical_align 文字垂直对齐方式,默认自动。可选:'top','middle','bottom'
            vertical_align=None,
        ))
    # 数据项设置
    c.set_global_opts(
        title_opts=opts.TitleOpts(title=title),
        legend_opts=opts.LegendOpts(is_show=True),
        tooltip_opts=opts.TooltipOpts(trigger='axis', axis_pointer_type='cross'),
        toolbox_opts=opts.ToolboxOpts(is_show=True, orient='horizontal',
                                      feature=opts.ToolBoxFeatureOpts(data_zoom=data_zoom))
    )
    # 绘制图表
    c.render(path="{0}.html".format(title))
x = ["第五周", "第四周", "第三周", "第二周", "第一周"]
y = ["37475", "34909", "35150", "56477", "46770"]
title = "近5个星期的浏览量"
line_charts(x, y, title)

成果展示

总结

我们学会了对单个线的处理,其实多线的时候也是一样的,只需要熟练使用这些属性就可以很快的上手了。希望能帮助到你,并创造一定的价值。

专栏地址:【https://blog.csdn.net/feng8403000/category_12170925.html

相关文章
|
5天前
|
Python
python函数的参数学习
学习Python函数参数涉及五个方面:1) 位置参数按顺序传递,如`func(1, 2, 3)`;2) 关键字参数通过名称传值,如`func(a=1, b=2, c=3)`;3) 默认参数设定默认值,如`func(a, b, c=0)`;4) 可变参数用*和**接收任意数量的位置和关键字参数,如`func(1, 2, 3, a=4, b=5, c=6)`;5) 参数组合结合不同类型的参数,如`func(1, 2, 3, a=4, b=5, c=6)`。
10 1
|
1天前
|
Python
python学习14-模块与包
python学习14-模块与包
|
1天前
|
Python
python学习12-类对象和实例对象
python学习12-类对象和实例对象
|
1天前
|
数据采集 Python
python学习9-字符串
python学习9-字符串
|
1天前
|
存储 索引 Python
python学习5-列表的创建、增删改查、排序
python学习5-列表的创建、增删改查、排序
|
1天前
|
Python
python学习3-选择结构、bool值、pass语句
python学习3-选择结构、bool值、pass语句
|
1天前
|
Python
Python学习的最佳资源是什么?
【4月更文挑战第15天】Python学习的最佳资源是什么?
15 7
|
9天前
|
Python
Python数据类型学习应用案例详解
Python基础数据类型包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)和集合(set)。整数和浮点数支持算术运算,字符串是不可变的文本,布尔值用于逻辑判断。列表是可变有序集合,元组不可变。字典是键值对的无序集合,可变,而集合是唯一元素的无序集合,同样可变。示例代码展示了这些类型的基本操作。
10 1
|
9天前
|
Python
Python控制结构学习应用案例详解
Python控制结构包含条件语句、循环语句和异常处理。条件语句用if-elif-else判断数字正负;for循环示例输出1到10的整数,while循环计算1到10的和;异常处理用try-except-finally处理除零错误,打印提示信息并结束。
9 3
|
9天前
|
Python
Python函数学习应用案例详解
学习Python函数的应用,包括计算两数之和、判断偶数、计算阶乘、生成斐波那契数列及反转字符串。示例代码展示了函数接收参数和返回结果的功能,如`add(a, b)`求和,`is_even(num)`判断偶数,`factorial(n)`计算阶乘,`fibonacci(n)`生成斐波那契数,以及`reverse_string(s)`反转字符串。
11 1