画【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

相关文章
|
1天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
12 3
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
2月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
2月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
2月前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
2月前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
2月前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2

热门文章

最新文章

推荐镜像

更多