数据可视化(第4、5、6次课)

article/2025/8/24 4:23:30

Matplotlib

折线图

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
# 配置中文格式——保证图中出现中文的时候不会乱码
matplotlib.rcParams['font.sans-serif']=['SimHei']
matplotlib.rcParams['axes.unicode_minus']=False
# 绘图
x = np.linspace(0,2*np.pi,40)
y = np.sin(x)
plt.figure(figsize=(4,3))
plt.plot(x,y,label='y=sin(x)哈哈',marker="D",markersize=6,markerfacecolor='g',# linestyle='-.',# linewidth=5,alpha=0.5)
plt.xlabel("x")
plt.ylabel("sin(x)")
plt.legend()
plt.text(0,0,"这是起点")
plt.grid(True)   # 网格加持
plt.show()

散点图

import matplotlib.pyplot as plt
import numpy as np
# 配置中文格式——保证图中出现中文的时候不会乱码
matplotlib.rcParams['font.sans-serif']=['SimHei']
matplotlib.rcParams['axes.unicode_minus']=False
# 绘图
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
# 每个点随机大小
plt.figure(figsize=(4,3))
plt.scatter(x, y, s=(10*np.random.rand(N))**2, c = np.random.rand(N), marker='^',alpha=0.5,label='三角形')
plt.legend()
plt.show()

饼图

import matplotlib.pyplot as plt
import matplotlib
import numpy as np
# 配置中文格式——保证图中出现中文的时候不会乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
# 绘图
labels = ['娱乐', '育儿', '饮食', '房贷', '交通', '其它']
sizes = [2, 5, 12, 70, 2, 9]
# 自定义颜色列表
colors = ['#ff9999', '#66b3ff', '#99ff99', '#ffcc99', '#c2c2f0', '#ffb3e6']
plt.figure(figsize=(4, 3))
plt.pie(sizes, labels=labels, autopct='%1.1f%%', colors=colors)
plt.title("————家庭支出———")
plt.show()

柱状图

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
# 配置中文格式——保证图中出现中文的时候不会乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
# 绘图
size = 10
y1 = [6, 5, 8, 5, 6, 6, 8, 9, 8, 10]
y2 = [5, 3, 6, 4, 3, 4, 7, 4, 4, 6]
y3 = [4, 1, 2, 1, 2, 1, 6, 2, 3, 2]
x = np.arange(size)
total_width = 0.8
width = total_width / 3
x = x - (total_width - width) / 2
plt.figure(figsize=(4,3))
plt.bar(x, y1, width=width, label='111',color='red')
plt.bar(x + width, y2, width=width, label='222',color='blue')
plt.bar(x + 2 * width, y3, width=width, label='333', color='green')
plt.xticks(x + width, ['a','b','c','d','e','f','g','h','i','j'])
plt.legend(loc="upper left") # 防止label和图像重合显示不出来
plt.ylabel('y')
plt.xlabel('x')
plt.title("——柱状图——")
plt.show()

直方图

使用hist绘制

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
data = np.random.normal(0, 1, 1000)
data_max = data.max()
data_min = data.min()
a = np.linspace(data_min, data_max, 11)
count = np.zeros(shape=(10,), dtype=np.int32)
for i in range(10):count[i] = ((data >= a[i]) & (data < a[i + 1])).sum()
x = [(a[i] + a[i + 1]) / 2 for i in range(10)]
plt.figure(figsize=(4, 3))
# plt.bar(x, count, width=x[1] - x[0], color=['r', 'y'], label="(0,1)正态分布")
plt.hist(data, bins=10, facecolor="blue", edgecolor="black", label="(0,1)正态分布")
plt.legend()
plt.show()

使用bar绘制

plt.bar(x, count, width=x[1] - x[0], color=['r', 'y'], label="(0,1)正态分布")

 

使用hist绘制直方图比使用bar绘制直方图更加简单 

子图

import numpy as np
import matplotlib.pyplot as plt
# 画第1个图:折线图
x=np.arange(1,100)
plt.figure(figsize=(4,3))
plt.subplot(221)    # 2行 2列 序号为1
plt.plot(x,np.sin(x))
# 画第2个图:散点图
plt.subplot(222)
plt.scatter(np.arange(0,10), np.random.rand(10), c="red")
# 画第3个图:饼图
plt.subplot(223)
plt.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,
0])
# 画第4个图:条形图
plt.subplot(224)
plt.bar([20,10,30,25,15],[25,15,35,30,20],color='g')
plt.show()

 

DataFrame绘图基础

此时想要绘制什么图形就改变kind属性值就可以。

line:折线图

pie:饼图

bar:柱状图 绘制多个柱状图的时候直接为属性y赋值列表

scatter:散点图

x轴默认使用index

import numpy as np
import pandas as pd
x=np.linspace(-np.pi,np.pi,100)
d=pd.DataFrame({"sin(x)":np.sin(x),"cos(x)":np.cos(x)},index=x)
d.plot(y=["sin(x)","cos(x)"],kind="line",color=["r","b"])

使用某一列数据进行绘制折线图

import pandas as pd
d=pd.DataFrame({"A":[9,2,1,6],"B":['ax','bx','cx','dx'],"C":[2,4,7,12
]},index=['a','b','c','d'])
d.plot(x="C",y="A",kind="line")


http://www.hkcw.cn/article/dkoVMUjLaM.shtml

相关文章

SpringBoot(五)--- 异常处理、JWT令牌、拦截技术

目录 一、异常处理 1. 问题分析 2. 全局异常处理器 二、登录校验技术 1.会话技术 1.1 Cookie 1.2 Session 2. JWT令牌 2.1 介绍 2.2 生成与校验 2.3 登录时下发令牌 3. 过滤器Filter 3.1 概述 3.2 登录校验过滤器 3.3 Filter详解 4. 拦截器interceptor 4.1 令…

springboot面试题

SpringBoot注解 SpringBootApplication EnableAutoConfiguration springboot自动配置原理 SpringBootApplication 是一个复合注解&#xff0c;结合了以下三个核心注解的功能&#xff0c;用于简化 Spring Boot 应用的启动类配置&#xff1a; SpringBootConfiguration Enabl…

架构意识与性能智慧的双重修炼

架构意识与性能智慧的双重修炼 ——现代软件架构师的核心能力建设指南 作者:蓝葛亮 🎯引言 在当今快速发展的技术环境中,软件架构师面临着前所未有的挑战。随着业务复杂度的不断增长和用户对性能要求的日益严苛,如何在架构设计中平衡功能实现与性能优化,已成为每个技术…

STM32G4 电机外设篇(一) GPIO+UART

目录 一、STM32G4 电机外设篇&#xff08;一&#xff09; GPIOUART1 GPIO1.1 STM32CUBEMX 配置以及Keil代码1.2 代码和实验现象 2 UART2.1 STM32CUBEMX 配置以及Keil代码2.2 代码和实验现象 附学习参考网址欢迎大家有问题评论交流 (* ^ ω ^) 一、STM32G4 电机外设篇&#xff0…

小型语言模型:为何“小”才是“大”?

当说到人工智能&#xff08;AI&#xff09;的时候&#xff0c;大家通常会想到那些拥有数十亿参数的超大型语言模型&#xff0c;它们能做出一些令人惊叹的事情。 厉害不厉害&#xff1f;绝对厉害&#xff01; 但对于大多数企业和开发者来说&#xff0c;实用吗&#xff1f;可能…

痉挛性斜颈介绍

痉挛性斜颈是一种局限性肌张力障碍性疾病&#xff0c;主要表现为颈部肌肉不自主收缩&#xff0c;导致头部向一侧扭转、倾斜或后仰&#xff0c;可伴有颈部疼痛或姿势异常。该病多在成年后起病&#xff0c;男女均可发病&#xff0c;具体病因尚未完全明确&#xff0c;可能与神经调…

【笔记】suna部署之获取 OpenRouter API key

#工作记录 OpenRouter 注册 OpenRouter 账号&#xff1a; 打开浏览器&#xff0c;访问OpenRouter 官网。点击页面右上角的 “Sign in” 按钮。选择注册方式&#xff0c;可使用 Google 账户、GitHub 账户、Discord 账户登录&#xff0c;也可使用电子邮件注册。若使用邮箱注册&am…

最优控制:从变分法到庞特里亚金原理

典型问题 根据系统的建模可以划分为&#xff1a; 线性系统&#xff1a; x ˙ A x B u \mathbf{\dot{x}} \boldsymbol{A}\mathbf{x}\boldsymbol{B}\mathbf{u} x˙AxBu非线性系统 x ˙ ( t ) f ( x ( t ) , u ( t ) , t ) \dot{\mathbf{x}}(t) \mathbf{f}(\mathbf{x}(t)…

R²AIN SUITE 驱动制造业变革:从灯塔实践到企业级落地方案

一、全球制造业的AI革命浪潮 世界经济论坛《全球灯塔网络》报告揭示&#xff0c;AI在制造业的应用正呈现指数级增长。最新数据显示&#xff0c;入选灯塔工厂的企业中&#xff0c;AI技术渗透率已从早期的不足20%跃升至60%左右&#xff0c;推动生产系统实现2-3倍效率提升、质量缺…

全球全能邮箱:如何选适合的全能邮件服务?

全球全能邮箱&#xff1a;如何选适合的全能邮件服务&#xff1f; 全球全能邮箱怎么选&#xff1f;烽火域名邮箱的优势特点有哪些&#xff1f; 全球全能邮箱不仅仅是一个简单的邮箱工具&#xff0c;更是集成多种功能&#xff0c;支持多语言、多终端、跨区域使用的全能邮件解决…

抖音、快手无水印福音开源下载器之蓝猫 BlueCatKoKo

之前分享过闪豆视频下载器https://pan.quark.cn/s/8e262bd6e130&#xff08;自行保存下载&#xff09;&#xff0c;它支持抖音&#xff0c;快手&#xff0c;B站&#xff0c;有管&#xff0c;可以批量下载。 蓝猫下载器链接&#xff1a;夸克网盘分享&#xff08;自行保存下载&a…

嵌入式学习笔记 - freeRTOS同优先级任务时间片抢占的实现

已经知道freeRTOS的任务切换函数发生在systick中断中&#xff0c;如下图 由上图可见&#xff0c;任务切换有个先决条件TaskIncrementTick&#xff08;&#xff09;函数返回为1&#xff0c;这个函数如下图&#xff0c; 第564行是判断如果延时时间到的任务比当前任务优先级高&am…

Cisco Packer Tracer 中 VLAN 与三层交换机

一、实验目的 1&#xff09;掌握 VLAN 的基本配置方法&#xff0c; 理解 VLAN 的功能和作用&#xff1b; 2&#xff09;掌握三层交换机的基本配置方法。 3&#xff09;理解三层网络的路由转发 二、实验环境 1&#xff09;运行 Windows 2008 Server/XP/7 /10操作系统的 PC …

数据结构——哈希表

一、概念 哈希表也叫做散列表。是根据关键码值&#xff08;Key Value&#xff09;直接进行访问的数据结构。 哈希表通过「键 key 」和「映射函数 Hash(key) 」计算出对应的「值 value」&#xff0c;把关键码值映射到表中一个位置来访问记录&#xff0c;以加快查找的速度。这个…

Kotlin中的::操作符详解

Kotlin提供了::操作符&#xff0c;用于创建对类或对象的成员(函数、属性)的引用。这种机制叫做成员引用(Member Reference)。这是Kotlin高阶函数和函数式编程的重要组成部分。 简化函数传递 在Java中&#xff0c;我们这样传方法&#xff1a; list.forEach(item -> System.…

K8S集群主机网络端口不通问题排查

一、环境&#xff1a; k8s: v1.23.6 docker: 20.10.14 问题和故障现象&#xff1a;devops主机集群主机节点到端口8082不通&#xff08;网络策略已经申请&#xff0c;并且网络策略已经实施完毕&#xff09;&#xff0c;而且网络实施人员再次确认&#xff0c;网络策…

回调函数的理解

int yuxiangrousi 0; // 全局变量&#xff1a;鱼香肉丝&#xff08;酱油量&#xff09;// 回调函数&#xff1a;妈妈处理酱油&#xff08;将酱油加入鱼香肉丝&#xff09; void mother_callback(int new_jiangyou) {yuxiangrousi new_jiangyou; // 把酱油放进鱼香肉丝 }// 孩…

python字符重复一次 2023年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

python字符重复一次 2023全国青少年信息素养大赛Python编程挑战赛复赛真题解析 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解

【笔记】suna部署之获取 Supabase API key 和 project URL

#工作记录 Supabase | The Open Source Firebase Alternative 一、注册与登录 方式一&#xff1a;GitHub 授权登录 在登录页面选择 “继续使用 GitHub” &#xff0c;跳转到 GitHub 授权页面&#xff08;如图 5 所示&#xff09;。确认 “Supabase 的想要访问您的 [账户名] 帐…

从法律层面剖析危化品证书:两证一证背后的安全逻辑

《安全生产法》第 24 条明确规定&#xff0c;危化品单位主要负责人和安全管理人员 “必须考核合格方可上岗”。这并非仅仅是行政要求&#xff0c;而是通过法律来筑牢安全防线。在某危化品仓库爆炸事故中&#xff0c;由于负责人未持证&#xff0c;导致事故责任升级&#xff0c;企…