数据可视化(1)

news2024/11/20 18:44:00

使用python带的matplotlib库进行简单的绘图。使用之前先进行安装,pip  install  matplotlib。如果安装了Anaconda,则无需安装matplotlib。

1.简单折线图

#绘制简单图表
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5])
plt.show()
import matplotlib.pyplot as plt
#散点图
plt.plot([1,2,3,4,5],[2,5,6,2,3],'ro') #x轴数据为[1,2,3,4,5],y轴数据为[2,5,6,2,3]
plt.show()
import pandas as pd
#绘制简单折线图
df=pd.read_excel('abc.xlsx')
df.head()
x=df['日期']
y=df['温度']
plt.plot(x,y)
plt.show()

#plt.plot(x,y,format_string,**kwargs)
#x,x轴
#y,y轴
#format_string:控制曲线格式的字符串,包括颜色,线条样式和标记样式
#**kwargs:键值参数,相当于一个字典
x=[1,2,3,4,5]
y=[10,20,30,40,50]
plt.plot(x,y,color='#ff0000')
#plt.plot(x,y,color='g',linestyle='-.')#设置线条样式  -.点线  --双划线  :虚线 -实线
#plt.plot(x,y,color='0.5')
plt.show()

2.散点图

#散点图
x=[1,2,3,4,5]
y=[2,6,5,3,9]
plt.plot(x,y,'ro')#r代表红色,o代表是圆形
plt.show()
#图布的设置
x=[1,2,5,6,3]
y=[6,2,5,3,4]
plt.figure(facecolor='yellow',figsize=(5,3))
#facecolor设置画布颜色,figsize设置画布大小,为500*300
plt.plot(x,y,marker='o',color='r',mfc='w')
#添加标记样式,marker,o是圆形,mfc变为空心圆
plt.show()

3.设置坐标轴和网格线

#设置坐标轴
x=[1,2,5,6,3]
y=[6,2,5,3,4]
#处理中文
plt.rcParams['font.sans-serif']=['SimHei']
#设置x轴标题
plt.xlabel('2021年五一')
plt.ylabel('温度')
plt.figure(figsize=(5,3))
#facecolor设置画布颜色,figsize设置画布大小,为500*300
plt.plot(x,y,marker='o',color='r',mfc='w')
#添加标记样式,marker,o是圆形,mfc变为空心圆
plt.show()


#设置坐标轴刻度
x=[i for i in range(1,11)]
y=[random.randint(1,10) for _ in range(10)]
plt.plot(x,y,marker='o',mfc='w')
plt.xticks(range(1,11))#设置x轴的刻度
plt.yticks(range(1,11))
plt.xlim(1,20)#设置坐标轴的范围
plt.grid(color='0.5',linestyle='--',linewidth='1')#设置网格线
plt.grid(color='0.5',linestyle='--',linewidth='1',axis='x')#设置网格线,隐藏x轴网格线
plt.show()

4.设置文本标签

# 添加文本标签
x = [i for i in range(1, 11)]
y = [random.randint(1, 10) for _ in range(10)]
plt.plot(x, y, marker='o', mfc='w')

plt.xticks(range(1, 11))  # 设置x轴的刻度
plt.yticks(range(1, 11))
# 添加文本标签
for a, b in zip(x, y):
    plt.text(a, b, b, ha='center', va='center',fontsize=15,color='r')  # ha垂直对齐,va垂直对齐
#添加图标的标题
plt.title('测试练习折线图',fontsize='18')
#添加图例
plt.legend(('销售次数'))
plt.show()

5.添加文本注释

# 添加文本注释
x=[1,2,3,4,5]
y=[4,5,2,3,6]
plt.plot(x,y,marker='o')
for a,b in zip(x,y):
    plt.text(a,b,b,ha='center',va='bottom',fontsize=12,color='r')

#添加文本注释
plt.annotate('最大数',xy=(5,6),xytext=(5,6),arrowprops=dict(facecolor='r',shrink=0.5))
#shrink 线条两端收缩比例
plt.show()

6.设置画布距离

# 图表与画布之间的距离
x=[1,2,3,4,5]
y=[4,5,2,3,6]
#解决乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.plot(x,y,marker='o')
for a,b in zip(x,y):
    plt.text(a,b,b,ha='center',va='bottom',fontsize=12,color='r')

#添加文本注释
plt.annotate('最大数',xy=(5,6),xytext=(5,6),arrowprops=dict(facecolor='r',shrink=0.5))
#shrink 线条两端收缩比例

#设置间距
#subplots_adjust(left,right,top,bottom)
#left,bottom值越大,边距越大,right,top值越小,边距越大。
#取值在0-1之间,左边的值小于右边的值。
plt.subplots_adjust(left=0.2,right=0.9,top=0.9,bottom=0.2)
#设置坐标轴的刻度线
plt.tick_params(bottom=False,left=True,right=True,top=True)
#设置坐标轴刻度线显示方向
plt.rcParams['xtick.direction']='in'
plt.rcParams['ytick.direction']='out'
plt.show()

7.折线图

#折线图
df=pd.read_excel('成绩表.xlsx')
x=df['姓名']
y1=df['数学']
y2=df['语文']
y3=df['英语']
#中文乱码
plt.rcParams['font.sans-serif']=['SimHei']
plt.plot(x,y1,label="数学",color='r',marker='o')
plt.plot(x,y2,label="语文",color='g',marker='p',linestyle='--')
plt.plot(x,y3,label="英语",color='b',marker='<',linestyle=':')
#设置画布大小
plt.figure(figsize=(10,6))
#设置网格线
plt.grid(axis="y")#关闭y轴网格线
#设置坐标轴标题
plt.xlabel("姓名")
plt.ylabel("分数")
#设置图标的图例
plt.legend(['数学','语文','英语'])
#设置坐标轴刻度
plt.yticks(range(50,150,10))
plt.show()

 

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

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

相关文章

使用vscode+platformio搭建arduino开发环境

存在的问题&#xff1a; Arduino编译时会将所有的C文件都编译一遍造成编译很慢&#xff0c;一个简单的工程稍加修改有可能都需要三四分钟才能编译完成&#xff0c;同时arduino也不支持代码跳转查看功能&#xff0c;不方便代码查看。 解决方法&#xff1a; 使用vscodeplatfor…

Scala动态创建对象,scala反射

一、动态对象创建方法 方法1–java的迁移 //可带参数 val clsFullName"你要的类名路径"//例如&#xff1a;com.xlt.test.Fruitsval taskClass if (customizedClassLoader ! null) customizedClassLoader.loadClass(clsFullName)else this.getClass.getClassLoader…

在Clion中开发rt-thread

一、在github或者gitee中下载源代码&#xff08;不要下载master最新分支的&#xff0c;下载稳定的版本分支 v5.0&#xff09; https://gitee.com/rtthread 二、在rt-thread官网上下载env工具、并安装mingw、cmake环境 https://www.rt-thread.org/document/site/#/developmen…

Django快速上手

Django简介 Django 框架最初的诞生&#xff0c;主要是用来开发和管理 Lawrence Publishing Group&#xff08;劳伦斯出版集团&#xff09;旗下新闻网站的一款软件&#xff0c;是一款属于 CMS&#xff08;Content Management System&#xff0c;内容管理系统&#xff09;类的软…

FANUC机器人SRVO-217故障报警原因分析及参考解决办法

FANUC机器人SRVO-217故障报警原因分析及参考解决办法 如下图所示,示教器提示:SRVO-217紧急停止电路板未找到, 查阅手册可以看到以下的报警说明: 故障原因: 通电时未能识别紧急停止电路板或者增设的安全I/O装置。连接有多个安全I/O装置的系统中,在报警信息的最后,会显示发…

SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》

首先了解一下单机环境 第一步&#xff0c;搭建一个 Elasticsearch 服务。第二步&#xff0c;下载 SkyWalking 软件包。第三步&#xff0c;搭建一个 SkyWalking OAP 服务。第四步&#xff0c;启动一个 Spring Boot 应用&#xff0c;并配置 SkyWalking Agent。第五步&#xff0c;…

测试开源C#人脸识别模块ViewFaceCore(2:人脸关键点定位器和活体检测)

ViewFaceCore模块中的FaceLandmarker类支持识别人脸关键点&#xff0c;也即人脸上的关键位置的坐标&#xff0c;其中主要调用Mark函数返回图片中指定人脸的关键点位置集合&#xff0c;该类需配合FaceDetector类共同使用。   FaceLandmarker类支持识别3种类型的人脸关键点&…

KingFunsion工程开发规范——JS规范

哈喽&#xff0c;大家好&#xff0c;我是雷工。 今天学习KingFunsion工程开发规范之JS规范。 第一章 统一规范 1.1. 一行代码只做一件事&#xff1b; 1.2. 长行拆分&#xff1b; 1.3. 代码块外使用try catch包裹&#xff1b; 1.4. 全局变量在数据词典中定义&#xff1b;…

分析业务团队如何进行技术建设

背景 大部分中大型的互联网公司&#xff0c;会按照一个技术团队 多个业务团队的组织形式。技术团队负责技术基础建设&#xff0c;而业务部门更多的聚焦在业务迭代上。 这种组织形式有其优越性&#xff1a; 可以避免大量重复技术建设 减少上下文&#xff0c;降低沟通成本 …

网络安全 Day20-计算机网络基础知识05(网络原理)

计算机网络基础知识05&#xff08;网络原理&#xff09; 1. OSI 模型2. VMware虚拟机NAT模式下上网原理3. 不能上网故障排查 1. OSI 模型 OSI 7层网络通信原理模型 OSI 国际网互联 OSI 数据包封装解封装过程 北京局域网主机A到深圳局域网主机B数据工作流程 2. VMware虚拟机N…

Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131931309 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

腾讯云 Cloud Studio 实战训练营——快速构建React完成点餐H5页面

目录 ​编辑 一、前言 1、什么是腾讯云 Cloud Studio 2、本文实验介绍 二、前期准备工作 1、注册 Cloud Studio 2、初始化工作空间 三、开发一个简版的点餐系统页面 1、安装依赖 1.1、安装 antd-mobile 1.2、安装 less 和 less-loader 1.3、暴露 webpack 配置文件 …

Linux JDK 安装详解

安装JDK 1.1 下载jdk压缩包 下载地址&#xff1a; Java Downloads | Oracle Java Downloads | Oracle 下载完成之后上传到服务器 # 1.将JDK解压缩到指定目录 tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/ 注意:-C参数是将JDK解压之后文件放入usr目录中 # 2.进入jdk解压缩目录…

前端Vue仿支付宝自定义可滑动轮播分页宫格菜单组件,可支持九宫格 十二宫格 十五宫格

背景介绍 随着技术的不断发展&#xff0c;传统的开发方式使得系统的复杂度越来越高。在传统开发过程中&#xff0c;一个小小的改动或者一个小功能的增加可能会导致整体逻辑的修改&#xff0c;造成牵一发而动全身的情况。为了解决这个问题&#xff0c;我们采用了组件化的开发模…

SpringBoot+Prometheus+Grafana实现系统可视化监控

场景 SpringBoot中集成Actuator实现监控系统运行状态&#xff1a; SpringBoot中集成Actuator实现监控系统运行状态_springboot actuator 获取系统运行时长_霸道流氓气质的博客-CSDN博客 基于以上Actuator实现系统监控&#xff0c;还可采用如下方案。 Prometheus Prometheu…

EC200U-CN学习(一)

EC200U系列内置丰富的网络协议&#xff0c;集成多个工业标准接口&#xff0c;并支持多种驱动和软件功能&#xff08;适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动&#xff09;&#xff0c;极大地拓展了其在M2M领域的应用范围&#xff0c;如POS、POC、ETC、共…

PMP项目成本管理-控制成本-挣值分析

适用于控制成本过程的数据分析技术包括: 挣值分析 (EVA Earned value analysis) 挣值分析将实际进度和成本绩效与绩效测量基准进行比较。EVM(Earned value Management)把范围基准、成本基准和进度基准整合起来&#xff0c;形成绩效测量基准。它针对每个工作包和控制账户&…

MPAS跨尺度、可变分辨率模式

跨尺度预测模式&#xff08;The Model for Prediction Across Scales - MPAS&#xff09;是由洛斯阿拉莫斯实验室和美国国家大气研究中心(NCAR)共同开发&#xff0c;其由3个部分组成&#xff0c;分别称为 MPAS-A&#xff08;大气模型&#xff09;、MPAS-O&#xff08;海洋模型&…

【LeetCode】19.删除链表的倒数第N个结点

题目 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]示例 3&…

Stable Diffusion - 扩展 SegmentAnything 和 GroundingDINO 实例分割算法 插件的配置与使用

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131918652 Paper and GitHub&#xff1a; Segment Anything: SAM - Segment Anything GitHub: https://github.com/facebookresearch/s…