视频讲解:优化柱状图

你好,我是郭震

AI数据可视化 第三集:美化柱状图,完整视频如下所示:

美化后效果前后对比,前:

af6b89a31fd964ac7c73f1d3f4308c2b.png

后:f49a7d141a60a6a7a4accb5052bed542.png

附完整案例源码:

util.py文件

import platformdef get_os():os_name = platform.system()if os_name == 'Windows':return "Windows"elif os_name == 'Darwin':return "macOS"else:return "Unknown OS"

优化后的柱状图,完整源码:

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties# 根据操作系统设置字体
from util import get_ossystem_type = get_os()
if system_type == 'Windows':font = FontProperties(fname="C:\\Windows\\Fonts\\msyh.ttc", size=14)  # 注意路径分隔符的转义
elif system_type == 'macOS':font = FontProperties(fname="/System/Library/Fonts/PingFang.ttc", size=14)# 咖啡店及其销售额数据
coffee_shops = ['咖啡店A', '咖啡店B', '咖啡店C', '咖啡店D', '咖啡店E']
sales = [1200, 1500, 1800, 1600, 2000]# 自定义颜色列表
colors = ['#307EC7', '#AA4643', '#89A54E', '#71588F', '#4198AF']plt.figure(figsize=(10, 6))# 设置图表背景为科技黑
plt.gca().set_facecolor('#2B2B2B')
plt.gcf().set_facecolor('#2B2B2B')bars = plt.bar(coffee_shops, sales, color=colors, edgecolor='#EEEEEE')  # 设置柱子边框为亮色# 在柱子顶部添加数据标签
for bar in bars:yval = bar.get_height()plt.text(bar.get_x() + bar.get_width()/2, yval + 50, yval, ha='center', va='bottom', color='#FFFFFF', fontproperties=font)  # 数据标签颜色改为白色# 设置网格线样式
plt.grid(color='#555555', linestyle='--', linewidth=0.5, axis='y', zorder=0, alpha=0.7)# 设置标签和标题颜色为亮色
plt.xticks(ticks=range(len(coffee_shops)), labels=coffee_shops, fontproperties=font, color='#FFFFFF')
plt.xlabel('咖啡店', fontproperties=font, color='#FFFFFF')
plt.ylabel('销售额(美元)', fontproperties=font, color='#FFFFFF')
plt.title('某小镇咖啡店一周销售额对比', fontproperties=font, color='#FFFFFF')
plt.yticks(fontsize=14, color='#FFFFFF')# 设置图例,调整图例的背景和文字颜色
legend = plt.legend(bars, coffee_shops, prop=font)
frame = legend.get_frame()
frame.set_color('#2B2B2B')  # 图例背景色
frame.set_edgecolor('#EEEEEE')  # 图例边框色
plt.setp(legend.get_texts(), color='#FFFFFF')  # 图例文字颜色plt.tight_layout()
plt.show()

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

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

相关文章

方舟基金:若美机构按最大夏普率配置比特币,则有望将其推升至230-250万美元...

号外:教链内参2.12《方舟基金重磅报告〈大胆想象2024〉全文pdf》 方舟基金(Ark Invest)的木头姐(Cathie Wood)是业内的老熟人了。她一向以大胆的预测而著称。比如就在2023年10月份,木头姐在采访中就曾直言&…

​​​​​​​C#系列-C#EF框架的优缺点+针对大数据处理的优化(19)

C#EF框架的优缺点 C# EF(Entity Framework)框架的优缺点如下: 优点: 简单易用:EF框架提供了丰富的API和工具,使得开发者可以轻松地实现数据库的增删改查等操作,无需编写繁琐的SQL语句。对象化…

MIT-BEVFusion系列七--量化2_Camera、Fuser、Decoder网络的量化

目录 Camera 量化Camera Backbone (Resnet50) 量化替换量化层,增加residual_quantizer,修改bottleneck的前向对 Add 操作进行量化 Camera Neck (GeneralizedLSSFPN) 量化将 Conv2d 模块替换为 QuantConv2d 模块Camera Neck 中添加对拼接操作的量化替换 C…

STM32自学☞对射式红外传感器计数

infrared_count.c文件 /* 编写步骤 一、初始化函数 1.开启GPIO、AFIO时钟 (NVIC和EXIT不需要开启,因为EXIT时钟一直处于开启状态,而NVIC是内核里的外设和CPU处在一起且RCC管理的是内核外的外设,综上所述,所以不用开启) 2.配…

【机器学习】卷积和反向传播

一、说明 自从 AlexNet 在 2012 年赢得 ImageNet 竞赛以来,卷积神经网络 (CNN) 就变得无处不在。从不起眼的 LeNet 到 ResNets 再到 DenseNets,CNN 无处不在。 您是否想知道 CNN 的反向传播中会发生什么,特别是反向传播在 CNN 中的工作原理。…

Stream流学习笔记

Stream流 创建流中间操作1、filter2、map3、distinct4、sorted5、limit6、skip7、flatMap 终结操作1、forEach2、count3、max&min4、collect5、查找与匹配 创建流 单例集合&#xff1a;集合对象.stream() List<Integer> list new ArrayList<>(); Stream<…

uniapp禁止截屏录屏/投屏功能(adb投放失效)

经过测试代码写在App.vue会失效,请写在符合逻辑的界面 uni-app 实现安卓防截屏 在uniapp中实现 要在App中全局禁止截屏&#xff0c;那么可以在App.vue中调用 如果想要某个页面防截屏就在某个页面调用&#xff0c;但是在离开这个页面的时候要恢复截屏&#xff0c;否则全局…

C语言:详解操作符(下)

上一篇链接&#xff1a;C语言&#xff1a;详解操作符&#xff08;上&#xff09;摘要&#xff1a; 在上篇文章中&#xff0c;我们已经讲过位操作符等涉及二进制的操作符&#xff0c;这些有助于帮助我们后期理解数据如何在计算机中运算并存储&#xff0c;接下来本篇将更多的讲述…

OpenCV学习路线图

下面是针对初学者设计的一个学习路线图&#xff1a; 第1周&#xff1a;计算机视觉和OpenCV概述 介绍计算机视觉及其应用领域讨论OpenCV的历史、特点和工作原理OpenCV的安装和配置&#xff08;Windows/Linux/macOS&#xff09;了解OpenCV的基本数据结构&#xff08;cv::Mat等&…

如何清理Docker占用的磁盘空间?

在Docker中&#xff0c;随着时间的推移&#xff0c;占用的磁盘空间可能会不断增加。为了保持系统的稳定性和性能&#xff0c;定期清理Docker占用的磁盘空间非常重要。下面将介绍一些清理Docker磁盘空间的方法。 一、清理无用的容器 有时候&#xff0c;我们可能会运行一些临时…

mac docker 宿主机和容器间网络打通

动因 是这样&#xff0c;笔者最近满怀欣喜入手Docker&#xff0c;看着各种文章命令都是不断点头称道&#xff1a;“嗯嗯&#xff0c;不错不错”,在接下来终于准备大干一场的时候碰壁了&#xff0c;主要情况是说在Mac中跑了第一把的时候发现碰到&#xff0c;虚拟机和宿主机居然…

Vue-1

Vue 简介 Vue 是一个用于"构建用户界面(基于数据渲染出用户看到的画面)" 的渐进式框架 基本使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widt…

SpringBoot 2.7.6 集成Activiti 7.1.0.M6 所需的配置文件

<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 https://…

课时25:内容格式化_常用符号解读_信息传递

3.1.1 信息传递 学习目标 这一节&#xff0c;我们从 重定向、管道符、小结 三个方面来学习。 重定向 重定向符号 在shell脚本中有两类常见的重定向符号&#xff1a; 覆盖式重定向&#xff1a;> 表示将符号左侧的内容&#xff0c;以覆盖的方式输入到右侧文件中< 表示…

c# avalonia 实现正方体翻转效果

在Avalonia中要实现一个正方体的翻转效果&#xff0c;需要利用动画和变换的功能&#xff0c;但由于Avalonia主要是2D UI框架&#xff0c;对3D支持有限。你可以通过2D的方式来近似模拟3D翻转的效果&#xff0c;或者配合像Avalonia3D这样的扩展库来实现。 示例代码大纲如下&#…

C#系列-C#访问WebAPI(11)

在C#中访问Web API通常涉及使用HttpClient类来发送HTTP请求到Web服务器并接收响应。以下是一个简单的示例&#xff0c;展示了如何使用HttpClient来调用一个Web API并获取JSON响应。 首先&#xff0c;确保你的项目中包含了System.Net.Http命名空间。如果你使用的是.NET Core或.…

CentOS7下如何安装Nginx

一、Ngxin是什么 Nginx是一个开源的 Web 服务器&#xff0c;具有反向代理、负载均衡、缓存等功能。它可以作为 HTTP 服务器&#xff0c;将服务器上的静态文件&#xff08;如 HTML、图片&#xff09;通过 HTTP 协议展现给客户端&#xff0c;也可以实现动静分离&#xff0c;把动态…

【后端高频面试题--Nginx篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 后端高频面试题--Nginx篇 什么是Nginx&#xff1f;为什么要用Nginx&#xff1f;为什么Nginx性能…

如何查看电脑连接的wifi的密码

问题 很多时候我们电脑连上wifi之后就把密码忘记了&#xff0c;这个时候如果同事问自己密码是多少&#xff0c;如果作为程序员说不知道是不是感觉有点不好意思&#xff0c;哈哈…… 解决 我使用的是windows电脑&#xff0c;就以windows为例说明下自己是如何查看的。 打开wi…

SNMP(简单网络管理协议)介绍

简介 作为系统管理员的重要工作之一是收集关于服务器和基础设施的准确信息。有许多工具和选项可用于收集和处理这种类型的信息。其中许多工具都是建立在一种称为SNMP的技术之上。 SNMP代表简单网络管理协议。这是服务器可以共享有关其当前状态的信息的一种方式&#xff0c;也…