【Python进阶(十)】——Matplotlib基础可视化

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972

   个人介绍: 研一|统计学|干货分享
         擅长Python、Matlab、R等主流编程软件
         累计十余项国家级比赛奖项,参与研究经费10w、40w级横向

文章目录

  • 1 数据读取并绘制折线图
  • 2 改变图的属性
  • 3 改变图的类型
  • 4 改变图的坐标轴的取值范围
  • 5 去掉边界的空白
  • 6 在同一个坐标上画两个图
  • 7 多图显示
  • 8 图的保存
  • 9 散点图的画法

【Python进阶(十)】——Matplotlib基础可视化,建议收藏!


该篇文章主要讲解了Python的Matplotlib基础可视化,通过实例演示对Matplotlib绘图方法进行熟悉,同时操纵展示图形中的各种元素。

1 数据读取并绘制折线图

  运行程序:

import matplotlib.pyplot as plt#导入模块matplotlib.pyplot
%matplotlib inline
#inline:静态绘图,嵌入到Jupyter Notebook中显示;notebook为交互图,输出结果显示为一行代码
import pandas as pd
women = pd.read_csv('women.csv')#pd.read_csv读取数据自动增加了一个索引列,即参数index_col默认为1
women.head()

  运行结果:

  运行程序:

women = pd.read_csv('women.csv',index_col =0)#设置第一列即为索引列
women.head()
plt.plot(women["height"], women["weight"])#在二维坐标上绘图
plt.show()#若不写,则显示为一行代码

  运行结果:

  运行程序:

import numpy as np
t=np.arange(0.,4.,0.1)
tplt.plot(t,t,t,t+2,t,t**2,t,t+8)  #显示多个线条(x,y1)(x,y2)(x,y3)(x,y4)
plt.show()

  运行结果:

2 改变图的属性

  运行程序:

plt.plot(women["height"], women["weight"],"o") #点图
plt.show()plt.plot(women["height"], women["weight"],"g--") #设置线的颜色与形状
plt.show()plt.plot(women["height"], women["weight"],"rD") #r:红色;D:砖石形状
plt.show()

  运行结果:

  运行程序:

plt.rcParams['font.family']="SimHei" #显示汉字方法:设置字体,否则报错
plt.plot(women["height"], women["weight"],"g--") 
plt.title("此处为图名")
plt.xlabel("x轴的名称")
plt.ylabel("y轴的名称")plt.show()plt.rcParams['font.family']="SimHei" 
plt.plot(women["height"], women["weight"],"g--") 
plt.title("此处为图名")
plt.xlabel("x轴的名称")
plt.ylabel("y轴的名称")plt.show()plt.rcParams['font.family']="SimHei"
plt.plot(women["height"], women["weight"],"g--") 
plt.title("此处为图名")
plt.xlabel("x轴的名称")
plt.ylabel("y轴的名称")
plt.legend(loc="upper left")#图例位置,左上角
plt.show()

  运行结果:

PS:plt.rcParams[‘font.family’]=“SimHei” 设置目的为图形中正常显示图中的中文元素。

3 改变图的类型

  运行程序:

plt.scatter(women["height"], women["weight"])#点图
plt.show()%matplotlib inline
plt.scatter(women.height, women.weight)#点图

  运行结果:

4 改变图的坐标轴的取值范围

  运行程序:

import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False # 解决负号不显示问题
import numpy as np
%matplotlib inline
x=np.linspace(0,10,100)plt.plot(x,np.sin(x))
plt.xlim(11,-2)#修改横坐标范围
plt.ylim(2.2,-1.3)#修改纵坐标范围

  运行结果:

  运行程序:

plt.plot(x,np.sin(x))
plt.axis([-1,21,-1.6,1.6])#横纵坐标同时定义

  运行结果:

  运行程序:

plt.plot(x,np.sin(x))
plt.axis([-1,21,-1.6,1.6])
plt.axis("equal") #x、y轴的刻度单位一样

  运行结果:

PS:plt.rcParams[‘axes.unicode_minus’]=False 目的为解决图形中负号不显示问题。

5 去掉边界的空白

  运行程序:

plt.plot(x,np.sin(x))
plt.axis([-1,21,-1.6,1.6])
plt.axis("tight")#去掉边界空白

  运行结果:

6 在同一个坐标上画两个图

  运行程序:

plt.plot(x,np.sin(x),label="sin(x)")
plt.plot(x,np.cos(x),label="cos(x)")
plt.axis("equal") #横纵坐标刻度一致
plt.legend() #图例

  运行结果:

  运行程序:

plt.plot(x,np.sin(x),label="sin(x)")
plt.plot(x,np.cos(x),label="cos(x)")

  运行结果:

7 多图显示

  运行程序:

plt.subplot(2,3,5)#2×3窗口的第五个子窗口
plt.scatter(women["height"], women["weight"])
plt.subplot(2,3,1)#2×3窗口的第1个子窗口
plt.scatter(women["height"], women["weight"])
plt.show()   

  运行结果:

8 图的保存

  运行程序:

women = pd.read_csv('women.csv')
plt.plot(women.height, women.weight)
plt.savefig("sagefig.png")

  运行结果:

9 散点图的画法

  运行程序:

from sklearn.datasets.samples_generator import make_blobs 
X,y=make_blobs(n_samples=300,centers=4,random_state=0, cluster_std=1.0)   #生成可用于可视化的数据集x和y   (样本数、类别数、随机生成方式、每个类别方差) 
plt.scatter(X[:,0],X[:,1],c=y,s=50,cmap="rainbow")#c:颜色;s:点的大小;cmap:色带,即c的补充

  运行结果:

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

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

相关文章

IOS 11 通用Base控制器封装

整体规划 BaseController:把viewDidLoad逻辑拆分为三个方法,方便管理。 BaseCommonController:不同项目可以复用的逻辑,例如:设置背景颜色方法等 BaseLogicController:本项目的通用逻辑,主要…

使用css如何获取最后一行的元素?使用css解决双边框问题

一、项目场景: 在小程序上需要实现一个如下图的ui效果图 需要满足以下条件 一行放不下 自动换行最后一行或者只有一行时,文字底部不能有线 二、初版实现 按照上面的要求,最开是的实现代码如下 我是给每一个元素都添加了一个下边框&#x…

测量 Redis 服务器的固有延迟

redis-cli --intrinsic-latency redis-cli --intrinsic-latency 命令用于测量 Redis 服务器的固有延迟。 固有延迟指的是 Redis 服务器处理一个命令所需的最短时间,不包括网络延迟。通过这个测量,我们可以了解 Redis 服务器本身的性能,而不…

[Algorithm][综合训练][mari和shiny][重排字符串]详细讲解

目录 1.mari和shiny1.题目链接2.算法原理详解 && 代码实现 2.重排字符串1.题目链接2.算法原理详解 && 代码实现 1.mari和shiny 1.题目链接 mari和shiny 2.算法原理详解 && 代码实现 自己的版本:三层循环暴力枚举 --> 超时 --> 40% …

ssrf漏洞复现

一、环境搭建 这里选用的平台是pikachu 地址:GitHub - zhuifengshaonianhanlu/pikachu: 一个好玩的Web安全-漏洞测试平台 可能遇到的问题——MySQL连接问题 mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY root; Query OK, 0 rows affect…

《黑神话:悟空》的AI技术解析:游戏智能的新境界

2024 年 8 月的第三周,哪哪都是悟空的声音,让我一度想起当年国足打进世界杯,学校不上课组织看球的场景。 从我个人情感而言,《黑神话:悟空》带来的震撼,惊喜和冲击不亚于当年国足在世界杯赛场上跟巴西踢球。…

SSRF实验

SSRF实验 SSRF概述实验测试结果 SSRF概述 SSRF服务端请求伪造,是因为网页提供的参数可以获取其他资源,接受网址在本地解析,来获取服务器本身的资源,但解析没过滤导致出现的问题 主要有几个方面的方法 dict 协议是一个在线网络字…

Ubuntu 22.04中解决Could not load the Qt platform plugin “xcb“问题解决方法

摘要:在Ubuntu 22.04中安装OpenCV后,遇到“load the Qt platform plugin “xcb” in site-packages/cv2/qt/plugins" even though it was found. 的问题,导致程序无法启动。本文详细探讨了该问题的成因,并介绍了几种常见但无…

TCP粘包和抓包

在 TCP 套接字中,发送和接收缓冲区用于暂存数据,以确保数据的可靠传输。具体来说,TCP 的 socket 收发缓冲区的主要特点和概念如下: 1. 发送缓冲区(Send Buffer) 定义: 发送缓冲区用于存储待发送的数据。应…

Android车载蓝牙音乐实例(附Demo源码):实现手机播放音乐后车机应用显示音乐名称,歌手,专辑名。且可控制上一曲下一曲,暂停播放功能

一、功能需求 功能需求是在Android10以上设备上实现蓝牙音乐功能,细分为两个功能点: 1、手机和车载设备实现蓝牙连接 (本Demo文只做监听蓝牙连接状态,需手动到设置中连接蓝牙) 2、连接蓝牙成功后手机播放音乐时车载…

vscode修改选中文字颜色及当前tab颜色

VSCode-》首选项-》设置->-》搜color,找到:Workbench:Color Customizations,点击:在 settings.json 中编辑 加上 选中的文字内容的 配置 "workbench.colorCustomizations": {//设置用户选中代码段的颜色&…

前端——盒子模型

一个盒子的特点组成 外边距就是两个元素之前的距离 padding就是填充区的大小 从上开始 顺时针进行设置,没有则对称 也可以单独对某个方向进行设定,比如:padding-top border 边框区 符合属性 border-style 边框样式 border-color 边框颜色…

Flink常见数据源(source)使用教程(DataStream API)

前言 一个 Flink 程序,其实就是对 DataStream 的各种转换。具体来说,代码基本上都由以下几部分构成,如下图所示: 获取执行环境(execution environment)读取数据源(source)定义基于数据的转换操作(transformations)定义计算结果的输出位置(sink)触发程序执行(exec…

Ps:首选项 - 常规

Ps菜单:编辑/首选项 Edit/Preferences 快捷键:Ctrl K Photoshop 首选项中的“常规” General选项卡主要用于调整 Photoshop 的整体工作行为和用户体验。这些设置让用户可以根据个人习惯和工作流程定制软件的响应方式和界面布局,从而提高工作…

读软件开发安全之道:概念、设计与实施08密码学(下)

1. 对称加密 1.1. symmetric encryption 1.2. 使用各方共享的密钥来隐藏数据 1.2.1. 对称加密在本质上依赖共享密钥 1.3. 所有加密都是通过对明文进行转换,把明文消息(或者原始消息)变成无法识别的形式(也称为密文&#xff09…

Linux 下命令行参数和环境变量

Linux 下命令行参数和环境变量 命令行参数为什么要有命令行参数谁可以做到结论 环境变量一些现象查看环境变量添加环境变量添加内存级环境变量永久有效 其他环境变量HOMEPWDSHELLHISTSIZE 自定义环境变量定义取消 本地变量整体理解环境变量环境变量的组织方式Linux 代码获取环境…

32 增加系统调用(1)

系统调用在 数据手册中的描述 这是在 GDT 中的描述符 这个系统调用 segment selector 指向的时 内核的代码段。因为系统调用需要的权限比较高。 offset 指的时 在内核代码中的具体的函数的地址。

深入浅出消息队列----【Broker 集群】

深入浅出消息队列----【Broker 集群】 单 master多 master多 master 多 slave 异步复制多 master 多 slave 同步复制Dledger 本文仅是文章笔记,整理了原文章中重要的知识点、记录了个人的看法 文章来源:编程导航-鱼皮【yes哥深入浅出消息队列专栏】 Brok…

ssrf攻击fastcgi复现

文章目录 环境搭建使用网页查看开始攻击 环境搭建 在/usr/local/nginx/html下新建一个php文件 phpinfo.php 1.php <?php highlight_file(__FILE__); $url $_GET[url]; $curl curl_init($url); curl_setopt($curl, CURLOPT_HEADER, 0); $responseText curl_exec($curl)…

Neo4J下载安装

Windows 版本 1、 下载链接安装JDK 下载链接 https://download.oracle.com/java/22/latest/jdk-22_windows-x64_bin.msi 下载完毕后默认安装即可 2、 下载Neo4J 进入Neo4j Deployment Center - Graph Database & Analytics下载页面&#xff0c;选择社区版&#xff0c;…