数据可视化

pip install matplotlib

一、各种图

#线形图
import numpy as np
import pandas as pd
df1=pd.DataFrame(data=np.random.randn(1000,4),index=pd.date_range(start='10/10/2023',periods=1000),columns=list('ABCD'))
df1.cumsum().plot()

在这里插入图片描述

#2、条形图
df2=pd.DataFrame(data=np.random.rand(10,4),columns=list('ABCD'))
df2

在这里插入图片描述

df2.plot.bar(stacked=True)#stacked表示堆叠

在这里插入图片描述

#3、饼图,百分比,自动计算
df3=pd.DataFrame(data=np.random.rand(4,2),index=list('ABCD'),columns=['One','Two'])
df3.plot.pie(subplots=True,figsize=(8,8),colors=np.random.random(size=(4,3)))#figsize尺寸,subplots表示>=两个图,colors可以不写

在这里插入图片描述

#散点图
df4=pd.DataFrame(np.random.rand(50,4),columns=list('ABCD'))
df4.plot.scatter(x='A',y='B')#A和B关系绘制
# #在一张图中绘制AC散点图,同时绘制BD散点图
# ax=df4.plot.scatter(x='A',y='C',color='DarkBlue',label='Group 1');
# df4.plot.scatter(x='B',y='D',color='DarkGreen',label='Group 2',ax=ax)
# #气泡图,散点有大小之分
# df4.plot.scatter(x='A',y='B',s=df4['C']*200)

在这里插入图片描述

df4['F']=df4['C'].map(lambda x : x+np.random.randint(0,5,size=1)[0])
df4

在这里插入图片描述

df4.plot.scatter(x='C',y='F')

在这里插入图片描述

#5、面积图
df5=pd.DataFrame(data=np.random.rand(10,4),columns=list('ABCD'))
df5.plot.area(stacked=True);#是否堆叠,是

在这里插入图片描述

二、Matplotlib基础

2.1 图形绘制

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,2*np.pi,100)
y=np.sin(x)#正弦波,x:Numpy数组。所有的数据,进行正弦计算
plt.plot(x,y)
plt.xlim(-1,10)
plt.ylim(-1.5,1.5)
plt.grid(color='green',alpha=0.5,linestyle='--',linewidth=1)

在这里插入图片描述

2.2 坐标轴刻度、标签、标题

列表生成式,本机字体查找

from matplotlib import font_manager
fm=font_manager.FontManager()
[font.name for font in fm.ttflist]#列表生成式,本机字体查找
plt.figure(figsize=(9,6))#图的尺寸
plt.plot(x,y)
plt.rcParams['font.family']='KaiTi'#设置字体,不显示负号
plt.rcParams['font.size']=28
plt.rcParams['axes.unicode_minus']=False#可显示数字的负号
plt.title('正弦波',fontsize=28,color='red',pad=20)#pad间距
plt.xlabel('X')
plt.ylabel('f(x)=sin(x)',rotation=0,horizontalalignment='right')#rotation设置标签为水平,horizontalalignment='right'标签右对齐
a=plt.yticks([-1,0,1])#调整刻度
_=plt.xticks([0,np.pi/2,np.pi,1.5*np.pi,2*np.pi],[0,r'$\frac{\pi}{2}$',r'$\pi$',r'$\frac{3\pi}{2}$',r'$2\pi$'],color='red')

在这里插入图片描述

2.3 图例

import numpy as np
import matplotlib.pyplot as plt
#1、图形绘制
x=np.linspace(0,2*np.pi)#x轴
#y轴
y=np.sin(x)
#绘制线形图
#调整尺寸
plt.figure(figsize=(9,6))
plt.plot(x,y)
#2、图例
plt.plot(x,np.cos(x))#余弦波
plt.legend(['Sin','Cos'],fontsize=18,loc='center',ncol=2,bbox_to_anchor=[0,1.05,1,0.2])#x,y,width,height,左下角(0,0),右上角(1,1)

在这里插入图片描述

2.4 脊柱移动(坐标轴的移动)

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,50)
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(9,6))
#plot绘制两个图形,x-y成对出现,可以!!!
plt.plot(x,np.sin(x),x,np.cos(x))
ax=plt.gca()#获取当前视图
# ax.set_facecolor('green')#全图底色变绿
#右边和上面脊柱消失
# ax.spines['right'].set_color('white')
# ax.spines['top'].set_color('#FFFFFF')
ax.spines['right'].set_alpha(0)#效果和上面两行一样
ax.spines['top'].set_alpha(0)
# #设置下面左边脊柱位置,data表示数据,axes表示相对位置0~1
ax.spines['bottom'].set_position(('data',0))#下面的线放在竖直中间
ax.spines['left'].set_position(('data',0))#左边的线放在水平中间
plt.yticks([-1,0,1],labels=['-1','0','1'],fontsize=18)
_=plt.xticks([-np.pi,-np.pi/2,np.pi/2,np.pi],labels=[r'$-\pi$',r'$-\frac{\pi}{2}$',r'$\frac{\pi}{2}$',r'$\pi$'],fontsize=18)
# plt.grid()#网格线
plt.savefig('./1.png')#图片保存,dpi=300高清,jpg,pdf都可以存

在这里插入图片描述

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

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

相关文章

文本编辑器去除PDF水印

用文本编辑器打开pdf,搜索水印的特殊文字,全部替换。 另外一个水印字母间有空格。 替换完后保存。 重新打开pdf:

通常用哪些软件做数据可视化大屏?

数据可视化大屏是一种展示数据的方式,通过使用软件工具可以将数据以图表、地图、仪表盘等形式直观地呈现给用户。以下是常用的数据可视化大屏软件及其特点: 1. Datainside: - 特点:Datainside是一款功能强大且易于使用的数据可视…

绘制X-Bar-S和X-Bar-R图,监测过程,计算CPK过程能力指数

X-Bar-S图和X-Bar-R图是统计质量控制中常用的两种控制图,用于监测过程的稳定性和一致性。它们的主要区别在于如何计算和呈现数据的变化以及所关注的问题类型。 X-Bar-S图(平均值与标准偏差图): X-Bar代表样本均值,S代表…

HttpServletRequest对象与RequestDispatcher对象

一、HttpServletRequest对象 1.介绍 在Servlet API中,定义了一个HttpServletRequest接口,它继承自ServletRequest接口,专门用来封装HTTP请求消息。由于HTTP请求消息分为请求行、请求消息头和请求消息体三部分,因此,在…

ODrive移植keil(五)—— 开环控制和电流变换

目录 一、开环控制1.1、控制原理1.2、硬件接线1.3、代码说明1.4、程序演示1.5、程序架构的体现 二、电流变换2.1、理论说明2.2、代码说明 ODrive、VESC和SimpleFOC 教程链接汇总:请点击 一、开环控制 在SimpleFOC系列中有开环控制的教程,SimpleFOC移植S…

《Java极简设计模式》第08章:外观模式(Facade)

作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 源码地址:https://github.com/binghe001/java-simple-design-patterns/tree/master/j…

SpringBoot篇之集成Mybatis-plus

目录 前言一、Mybatis-plus介绍1.1 官网 二、代码生成器总结 前言 大家好,我是AK,整理的SpringBoot集成Mybatis-plus以及代码生成器的使用,时间原因简单的整理下,有问题的可以评论区见或私信我。 一、Mybatis-plus介绍 1.1 官网…

完整教程:Java+Vue+Websocket实现OSS文件上传进度条功能

引言 文件上传是Web应用开发中常见的需求之一,而实时显示文件上传的进度条可以提升用户体验。本教程将介绍如何使用Java后端和Vue前端实现文件上传进度条功能,借助阿里云的OSS服务进行文件上传。 技术栈 后端:Java、Spring Boot 、WebSock…

23种经典设计模式:单例模式篇(C++)

前言: 博主将从此篇单例模式开始逐一分享23种经典设计模式,并结合C为大家展示实际应用。内容将持续更新,希望大家持续关注与支持。 什么是单例模式? 单例模式是设计模式的一种(属于创建型模式 (Creational Pa…

PHP 员工工资管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 员工工资管理系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php员工工资管理系统 代码 https://download.csdn.net/download/qq_41221322/884215…

python+opencv+深度学习实现二维码识别 计算机竞赛

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 pythonopencv深度学习实现二维码识别 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:3分 该项目较为新颖&…

Python高效实现网站数据挖掘

在当今互联网时代,SEO对于网站的成功至关重要。而Python爬虫作为一种强大的工具,为网站SEO带来了革命性的改变。通过利用Python爬虫,我们可以高效地实现网站数据挖掘和关键词分析,从而优化网站的SEO策略。本文将为您详细介绍如何利…

竞赛选题 深度学习 机器视觉 车位识别车道线检测 - python opencv

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) …

KubeVela跨地域的多集群管理方案

随着公司全球化战略的布局,业务呈点状分布在亚太、美东、欧洲等多个地域,云原生kubevela在跨地域多集群管控方面也遇到网络上的互通问题。 在公司网络规划上只允许一个区域的一个VPC跟另一个区域的一个VPC打通,同区域不同机房的网络都可以打通的网络架构基础上,由于一个区…

生产级Stable Diffusion AI服务部署指南【BentoML】

在本文中,我们将完成 BentoML 和 Diffusers 库之间的集成过程。 通过使用 Stable Diffusion 2.0 作为案例研究,你可以了解如何构建和部署生产就绪的 Stable Diffusion 服务。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 Stable Diffusion 2.0 …

睿趣科技:未来抖音开网店还有前景吗

随着科技的快速发展,电商平台已经成为了人们生活中不可或缺的一部分。在中国,抖音作为一个短视频平台,近年来迅速崛起,吸引了大量的用户和商家。那么,在未来,抖音是否还能为商家提供一个有效的电商平台呢?…

logicFlow 流程图编辑工具使用及开源地址

一、工具介绍 LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow 支持前端研发自定义开发各种逻辑编排场景,如流程图、ER 图、BPMN 流程等。在工作审批配置、机器人逻辑编排、无…

VScode Invoke-Expression: 无法将参数绑定到参数“Command”,因为该参数为空字符串

打开vscode时发生错误:Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。 解决办法:在anaconda prompt base中输入: conda upgrade -n base -c defaults --override-channels conda

MySQL常用脚本

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《ELement》。🎯🎯 &#x1…

Red Giant Trapcode Suite 红巨星粒子插件

Red Giant Trapcode Suite是一款用于在After Effects中模拟和建模3D粒子和效果的软件,由Red Giant Software公司开发。 该软件包包含11种不同的工具,可以帮助用户模拟火、水、烟、雪等粒子效果,以及创建有机视觉效果和3D元素。它还支持在AE与…