news 2026/7/22 7:39:29

如何在 Python 中制作赛博朋克“深色模式”数据可视化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何在 Python 中制作赛博朋克“深色模式”数据可视化

原文:towardsdatascience.com/how-to-make-cyberpunk-dark-mode-data-visualizations-in-python-b28f82386e75

我一直喜欢图表上有深色背景和霓虹线条,因为它们的美学,以及它们对某些视力障碍的改善的可访问性——在这篇文章中,我们将讨论如何在 Python 中创建一些非常酷且美观的赛博朋克风格图表。

(ps. 向我的早期分析经理致敬,他说我的图表很丑,不专业——你可能会讨厌这篇文章!👋)

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/86fbda8539f82fed0f535cebe26f22ea.png

由我使用 DALL-E 创建的图像。

在 Chime,我的朋友 Maia Bittner 和我曾使用 Google Sheets 和 Excel 创建类似这样的图表,通过手动选择所有霓虹色来使我们的数据引人注目且吸引人。使用这种方法,您也可以轻松地在 Python 中生成它们!

现在,让我们看看如何使用 Palmer Penguins 数据集创建一些酷炫的赛博朋克风格霓虹数据可视化,您可以通过在 Python 笔记本中安装palmerpenguins直接访问该数据集。

💫 mplcyberpunk,一个在 matplotlib 之上创建“赛博朋克”风格图表的*“Python 包,只需额外 3 行代码。”*

首先,在继续之前,请确保安装我们将在本教程中需要的包,并按如下方式加载 penguins 数据集:

pip install palmerpenguins pip install mplcyberpunk
frompalmerpenguinsimportload_penguinsimportmatplotlib.pyplotaspltimportmplcyberpunk# Load the penguin datasetpenguins=load_penguins()

现在,我们已经准备好将赛博朋克融入我们的图表中,这个包最适合与折线图一起使用,所以让我们看看不同企鹅物种的身体质量分布情况。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6635049d5aeb39af40d8e63a17a31766.png

由作者创建的图像。以下代码用于生成此数据可视化:

# Create the plot with the cyberpunk styleplt.style.use("cyberpunk")fig,ax=plt.subplots(figsize=(10,6))# Define the colors for each speciesspecies_colors={'Adelie':'cyan','Chinstrap':'magenta','Gentoo':'yellow'}# Plot KDE for body mass by speciesforspeciesinpenguins['species'].unique():subset=penguins[penguins['species']==species]sns.kdeplot(subset['body_mass_g'],ax=ax,lw=3,color=species_colors[species])# Enhance with cyberpunk stylemplcyberpunk.add_glow_effects()# Manually create legend handles and labelshandles=[plt.Line2D([],[],color=species_colors[species],label=species,linewidth=3)forspeciesinpenguins['species'].unique()]# Create the legendax.legend(handles=handles,title='Species')legend=ax.get_legend()plt.setp(legend.get_texts(),color='white')# Set the title and labelsax.set_title('Body Mass Distribution by Species')ax.set_xlabel('Body Mass (g)')ax.set_ylabel('Density')plt.show()

另一个如何在想要可视化时间序列数据的情况下创建独特且引人注目的赛博朋克风格图表的例子(使用虚拟数据创建的图表)——这个包中可用的发光效果特别适合时间序列和百分比变化图表:

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3cacb9aa936a1ef6cd789921c24a0e15.png

由作者创建的图像。


Cyberpunk 包最适合与折线图一起使用,但这里有一个例子说明我们可以如何使用它来在散点图中可视化企鹅统计数据的相关性,这仍然看起来相当酷!

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/a1e066f4f20a737ed979a978bb64acb4.png

由作者创建的图像。以下代码用于生成此数据可视化:

# Create the plot with the cyberpunk styleplt.style.use('cyberpunk')fig,ax=plt.subplots(figsize=(8,6))scatter=ax.scatter(penguins['flipper_length_mm'],penguins['body_mass_g'],s=30,c=penguins['island'].astype('category').cat.codes,cmap='cool')# Enhance the plot with cyberpunk style glow effectmplcyberpunk.make_scatter_glow(ax)# Set the title and labelsax.set_title("Penguin Stats- Flipper Length vs Body Mass By Island")ax.set_xlabel("Flipper Length (mm)")ax.set_ylabel("Body Mass (g)")plt.show()

总结来说,这个包是您 Python 数据可视化工具箱的一个很好的补充,可以提升那些无聊加基本的 matplotlib 图表。作为数据科学家和分析员,我们工作的一部分是吸引我们的观众,而创建引人注目的图表是其中一种方式。如果您尝试了这个,我很乐意听听您的反馈!如果您愿意尝试,请告诉我✨

向这个包的创建者 Dominik Haitz 致以崇高的敬意。您可以在 GitHub 上找到他的作品!👇

GitHub – dhaitz/mplcyberpunk: "Cyberpunk 风格"的 matplotlib 图表


如果您喜欢数据+AI,请查看我的其他故事!👇

感谢阅读。

SQL 精通:数据专业人士的高级技巧

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 3:23:44

【家电洗衣机称重算法深度解析】实现原理、案例与优劣对比

【家电洗衣机称重算法深度解析】实现原理、案例与优劣对比 在智能家居飞速发展的今天,洗衣机作为家庭必备电器,其智能化升级成为行业趋势。称重功能作为洗衣机的核心基础功能,直接影响着水资源、电能的利用效率,以及衣物洗涤效果。传统滚筒洗衣机称重算法已沿用多年,而AI…

作者头像 李华
网站建设 2026/7/22 0:19:54

Dify平台如何实现跨会话的记忆存储?

Dify平台如何实现跨会话的记忆存储? 在构建现代AI应用的今天,用户早已不再满足于“每次对话都从零开始”的机械式交互。他们期望AI能记住自己的偏好、延续上一次的对话状态,甚至像人类一样具备“认知连续性”。然而,大多数基于大语…

作者头像 李华
网站建设 2026/7/8 3:23:39

USB请求块(URB)异常诊断:实战案例解析

USB请求块(URB)异常诊断:从“电脑无法识别usb设备”说起你有没有遇到过这样的情况?插上一个USB摄像头,系统毫无反应;插入U盘,资源管理器里却不见踪影。反复拔插、换接口、重启……最终只能无奈地…

作者头像 李华
网站建设 2026/7/8 3:22:49

Dify镜像在专利申请文件撰写中的辅助作用

Dify镜像在专利申请文件撰写中的辅助作用 在知识产权竞争日益激烈的今天,高质量、高效率的专利申请文件撰写已成为企业技术壁垒构建的关键环节。然而现实是,一份符合《专利审查指南》要求的权利要求书或说明书,往往需要资深代理人投入数小时甚…

作者头像 李华
网站建设 2026/7/15 16:25:42

Serial Null Modem Driver配置新手教程

用软件“接一根串口线”:零成本实现双程序通信的实战指南 你有没有遇到过这样的场景? 手头正在开发一个基于 Modbus 协议的温控设备上位机软件,但下位机固件还没写完;或者想测试两个独立程序之间的串口交互逻辑,却发…

作者头像 李华
网站建设 2026/7/8 3:22:58

一文说清LVGL教程核心要点:适合初学者的快速入门篇

从零开始搞懂LVGL:嵌入式GUI开发的实战入门指南 你是不是也遇到过这样的情况? 项目要用一个带屏幕的HMI界面,老板说“要好看、要流畅”,可你手里的单片机只有几十KB内存,连个像样的操作系统都没有。传统的段码屏太简…

作者头像 李华