【python可视化】折线图精粹:重点突出的艺术与技巧

为方便不同读者阅读,这里把python的代码解释也一起补充上来,完整的notebook欢迎关注微信公众号 数据分析螺丝钉 回复关键词 python可视化领取,重点是可视化的思路,用excel或者其他工具也能实现

步骤:需要先经过一轮分析,然后再改进可视化图表

目标:可以让人一眼看出问题,不需要过多的解释

常见方法

0. 颜色区分

plt.plot(x,y, color='blue')

1. 线条粗细

将重点线条的粗细设置得比其他线条更粗,可以有效地使其脱颖而出。

plt.plot(x, y, linewidth=3)  # 将重点线条的宽度设置为3

2. 线条样式

改变线条的样式(例如,使用虚线或点划线)也可以帮助区分重点线条。

plt.plot(x, y, linestyle='--')  # 将重点线条设置为虚线

3. 添加标签和注释

在图表中直接为重点线条添加注释或者在图例中突出显示可以帮助观众快速识别重点信息。

plt.text(x_position, y_position, '重点', fontsize=12)  # 在图表中添加文本注释

4. 线条标记

在重点线条上使用标记(如圆圈、方块、星号等)来进一步区分。

plt.plot(x, y, marker='o')  # 使用圆圈标记重点线条的每个数据点

5. 高亮背景区域

通过高亮显示与重点线条相关的背景区域,可以吸引观众的注意力。

plt.fill_between(x, y1, y2, color='lightgrey', alpha=0.5)  # 高亮背景区域

6. 使用阴影或光晕

给线条增加阴影或者光晕效果,使其在视觉上更加突出。

数据准备

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
​
# 设置随机数种子确保可复现性
np.random.seed(42)
​
base_sales = np.linspace(100, 130, 12)  # 创建一个基础的平缓销售趋势
sales_data = pd.DataFrame({'Product A': np.random.randint(80, 200, size=12),  # 保持产品A的波动'Product B': np.random.randint(80, 200, size=12), # 'Product C': base_sales + np.random.normal(0, 5, 12), #添加较小的随机波动'Product D': base_sales + np.random.normal(0, 5, 12)
}, index=months)

普通图

例如:这是一个常见的产品销售月趋势折线图,分别有四种不同的颜色

# 绘制趋势图
​
plt.figure(figsize=(10, 6))
colors = ['gray', 'bule', 'red', 'black']  # 使用不同的颜色
for product, color in zip(sales_data.columns, colors):plt.plot(sales_data.index, sales_data[product], color=color, marker='o', linestyle='--', label=product)
​

产品A是战略产品负责人需要让你重点分析,你可能可以看到产品A在5月和9月有两个高点,但是仔细看多个产品的耦合比较多,很难看出来产品A每个月怎么变化的,甚至产品B反而更突出了,这时候需要改进一下图表的可视化

颜色区分

在图表中突出重点一个基本的逻辑可以用颜色区分

# 先绘制其他产品的销售趋势,使用浅灰色
for product in ['Product B', 'Product C', 'Product D']:plt.plot(sales_data.index, sales_data[product], color='lightgray', linestyle='--', label='_nolegend_')
​
# 突出显示产品A的销售趋势,使用深色
plt.plot(sales_data.index, sales_data['Product A'], color='blue', marker='.', label='Product A')

你要讲产品A,那就弱化其他产品,单独给它标识成一个深的颜色,这样对比就能突出产品A的业务变化趋势,再去讲原因会让人容易看出一些信息,5、9月份销售大幅度增加,但接着如果你又写了一些文字解释 (原因是5月办了一场A活动、9月办了B活动,再分别描述)这时候还是会显得不够直观

这时候我们把原因也标注上去

# 标注业务原因
marketing_events = {'May': 'MarketingA', 'Sep': 'MarketingB'}
for month, event in marketing_events.items():x_pos = months.index(month)y_pos = sales_data.loc[month, 'Product A']plt.text(x_pos, y_pos, event, fontsize=12, verticalalignment='bottom', horizontalalignment='center')

可以让人一目了然,分别为marktingA和MarketingB,通过标注原因在图上其实分析师不需要太多的描述,大家一眼能看到你想表达什么这时候叫突出重点

线条粗细

当线条变粗的时候,其他颜色的线条没这么突出了,不过但是如果颜色很深的话还是建议弱化其他颜色,突出粗的线条,这里把产品B的颜色改成浅蓝色了。

背景高亮

这里要稍微注意一下要在线的附近做背景高亮,否则填满整个图也就看不出重点了

highlight_margin = sales_data['Product A'] * 0.05  # 计算高亮范围的宽度plt.fill_between(sales_data.index, sales_data['Product A'] - highlight_margin, sales_data['Product A'] + highlight_margin, color='yellow', alpha=0.3)  # 在这个范围内填充颜色

高亮后黄色的背景也很容易吸引读者看到产品A

总结

一个简单的折线图也需要了解技巧和方法,时间久了就可以比别人更进一步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/573494.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源项目ChatGPT-Next-Web的容器化部署(二)-- jenkins CI构建并推送镜像

一、背景 接着上文已制作好了Dockerfile,接下来就是docker build/tag/push等一系列操作了。 不过在这之前,你还必须在jenkins等CI工具中,拉取源码,然后build构建应用。 因为本文的重点不是讲述jenkins ci工具,所以只…

MySQL数据库基础--约束

约束 约束是作用于表中字段上的规则,用于限制在表中的数据 目的:保证数据库中数据的正确,有效性和完成性。 分类: 注意:约束是作用于表中字段上的,可以在创建表/修改表的时候哦添加约束 外键约束 外键用…

2024年3月28日蚂蚁新村今日答案:人间能得几回闻和冰蚕吐凤雾绡空哪句诗描写的云锦之美?

蚂蚁新村是一个虚拟社区。在这个虚拟社区中,用户可以参与各种活动,比如生产能量豆、做慈善捐赠等。同时,蚂蚁新村也提供了一些知识问答环节,用户在参与的过程中可以增进知识。这些问答内容往往涉及广泛的主题,如文化、…

如何借用 NTFS 交换数据流 实现隐藏文件?如何使用【文件包含】PHP伪协议?不同操作系统如何实现文件隐藏和木马伪装?

如何借用 NTFS 交换数据流 实现隐藏文件?如何使用【文件包含】PHP伪协议?不同操作系统如何实现文件隐藏和木马伪装? NTFS交换数据流(Alternate Data Streams, ADS)是NTFS文件系统特有的一种功能,它允许在同一个文件名下存储多个数据流。除了默认的数据流(通常用于存储文…

PCB中的走线布线技巧

PCB中的布线技巧 电磁兼容性(EMC)及关联的电磁干扰(EMI)历来都需要系统设计工程师擦亮眼睛,在当今电路板设计和元器件封装不断缩小、OEM要求更高速系统的情况下,这两大问题尤其令PCB布局和设计工程师头痛。另一方面,EMI是由EMC或不想要的电磁…

大会邀请 |北京智慧城市时空信息大会

2024年3月27-28日,2024中关村论坛系列活动一一首届智慧城市时空信息大会将在北京国际财富中心举办,大势智慧作为协办单位出席大会,重点展出公司自主研发的实景三维全自主、全流程系列软硬件产品,并为您带来公司在智慧城市、智慧应…

《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)

1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件。因此宏哥就接着讲解和分享一下:自动化测试下载文件。可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就是访问到…

Unity -- 遮挡剔除

很多童鞋的Unity作品完成后,发现场景卡的要死,尽管在模型阶段采用了很多优化建模方法,但还是卡顿。电脑端都这么卡,发布到移动端就更不用说了。遇到这种情况,很多童鞋急得团团转,不知如何是好。此时&#x…

格式化危机!教你轻松恢复数据!

一、遭遇格式化,数据恢复并非难事 当存储设备遭遇格式化后,许多人可能会陷入恐慌,担心重要数据一去不复返。但实际上,数据恢复并非如想象中那般困难。格式化操作主要清除了文件系统的索引信息,而实际的数据往往还残留…

来了!小学生Python创意编程(视频教学版)

目录 写在前面 推荐图书 推荐理由 写在最后 写在前面 在最好的年纪,一起来学Python吧!本期博主给大家推荐一本适合小学生阅读的书籍,一起来看看吧~ 推荐图书 小学生Python创意编程(视频教学版) 直达链接&#x…

汉思电子封装材料-守护芯片的“钢铁侠”

在这个科技日新月异的时代,电子产品已经成为我们生活中不可或缺的一部分。从智能手机到智能家居,从无人驾驶到人工智能,电子技术在各个领域发挥着不可或缺的作用。然而,当我们惊叹于这些神奇的科技产品时,却往往忽略了…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 3月28日,星期四

每天一分钟,知晓天下事! 2024年3月28日 星期四 农历二月十九 1、 四部门:培育空中摆渡、私人包机等新业态,2030年形成万亿级市场规模。 2、 市监总局发文规范外卖营销防止浪费:不将主食纳入满减优惠展示范围。 3、 多…