画【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机器学习专栏】迁移学习在机器学习中的应用
【4月更文挑战第30天】迁移学习是利用已有知识解决新问题的机器学习方法,尤其在数据稀缺或资源有限时展现优势。本文介绍了迁移学习的基本概念,包括源域和目标域,并探讨了其在图像识别、自然语言处理和推荐系统的应用。在Python中,可使用Keras或TensorFlow实现迁移学习,如示例所示,通过预训练的VGG16模型进行图像识别。迁移学习提高了学习效率和性能,随着技术发展,其应用前景广阔。
|
1天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习中的Bagging与Boosting
【4月更文挑战第30天】本文介绍了集成学习中的两种主要策略:Bagging和Boosting。Bagging通过自助采样构建多个基学习器并以投票或平均法集成,降低模型方差,增强稳定性。在Python中可使用`BaggingClassifier`实现。而Boosting是串行学习,不断调整基学习器权重以优化拟合,适合弱学习器。Python中可利用`AdaBoostClassifier`等实现。示例代码展示了如何在实践中运用这两种方法。
|
1天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】关联规则学习:Apriori算法详解
【4月更文挑战第30天】Apriori算法是一种用于关联规则学习的经典算法,尤其适用于购物篮分析,以发现商品间的购买关联。该算法基于支持度和置信度指标,通过迭代生成频繁项集并提取满足阈值的规则。Python中可借助mlxtend库实现Apriori,例如处理购物篮数据,设置支持度和置信度阈值,找出相关规则。
|
1天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。
|
3天前
|
Python
【Python21天学习挑战赛】- 错误和异常
【Python21天学习挑战赛】- 错误和异常
|
3天前
|
容器
【Python21天学习挑战赛】-迭代器 & f-格式化 & 模块
【Python21天学习挑战赛】-迭代器 & f-格式化 & 模块
|
3天前
|
Python
【Python21天学习挑战赛】- 函数进阶
【Python21天学习挑战赛】- 函数进阶
|
Python
python、十六进制的颜色对照表
英文代码  形像颜色  HEX格式  RGB格式 LightPink 浅粉色 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson 猩红 #DC143C 220,20,60 LavenderBlush 脸红的淡紫色 #FFF0F5 255.
6599 0
python、十六进制的颜色对照表
|
2天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
2天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
11 3