Matplotlib学习挑战第六关--散点图、柱形图、饼图

news2024/10/1 3:22:42

1、Matplotlib 散点图

我们可以使用 pyplot 中的 scatter() 方法来绘制散点图。

scatter() 方法语法格式如下:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None,
 norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, 
 edgecolors=None, plotnonfinite=False, data=None, **kwargs)
x,y:长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。

s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。

c:点的颜色,默认蓝色 'b',也可以是个 RGB 或 RGBA 二维行数组。

marker:点的样式,默认小圆圈 'o'。

cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。

norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。

vmin,vmax::亮度设置,在 norm 参数存在时会忽略。

alpha::透明度设置,0-1 之间,默认 None,即不透明。

linewidths::标记点的长度。

edgecolors::颜色或颜色序列,默认为 'face',可选值有 'face', 'none', None。

plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

**kwargs::其他参数。
import matplotlib.pyplot as plt
import numpy as np

x=np.array([1,2,3,4,5])
y=np.array([1,2,3,4,5])
plt.scatter(x, y, s=25,c='r',alpha=0.6)# 大小为25像素、颜色为红色、透明度为0.6

在这里插入图片描述
两组数据

x1 = np.array([1,4,3,7,34])
y1 = np.array([78,23,19,16,25])
plt.scatter(x1, y1, c='r', s=25)

x2 = np.array([22,15,34,51,21,4,12,45,1,47,5,78,34])
y2 = np.array([1,3,4,5,6,8,2,6,2,90,8,2,23])
plt.scatter(x2, y2, c='g', s=95)

plt.show()  

在这里插入图片描述

2、Matplotlib 柱形图

我们可以使用 pyplot 中的 bar() 方法来绘制柱形图。

bar() 方法语法格式如下:

matplotlib.pyplot.bar(x, height, width=0.8, 
bottom=None, *, align='center', data=None, **kwargs)
x:浮点型数组,柱形图的 x 轴数据。

height:浮点型数组,柱形图的高度。

width:浮点型数组,柱形图的宽度。

bottom:浮点型数组,底座的 y 坐标,默认 0。

align:柱形图与 x 坐标的对齐方式,'center' 以 x 位置为中心,这是默认值。
 'edge':将柱形图的左边缘与 x 位置对齐。
 要对齐右边缘的条形,可以传递负数的宽度值及 align='edge'**kwargs::其他参数。

例子:

import matplotlib.pyplot as plt
import numpy as np

x=np.array(['google','baidu','jingdong','alibaba','taobao'])
y=np.array([11,32,34,24,15])
plt.bar(x,y)
plt.show()

在这里插入图片描述

垂直方向的柱形图可以使用 barh() 方法来设置:

import matplotlib.pyplot as plt
import numpy as np

x=np.array(['google','baidu','jingdong','alibaba','taobao'])
y=np.array([11,32,34,24,15])
plt.barh(x,y)
plt.show()

在这里插入图片描述

设置柱形图宽度,bar() 方法使用 width 设置,barh() 方法使用 height 设置 height:

import matplotlib.pyplot as plt
import numpy as np

x=np.array(['google','baidu','jingdong','alibaba','taobao'])
y=np.array([11,32,34,24,15])
plt.bar(x,y,width=0.2)
plt.show()

在这里插入图片描述

x = ['一月','二月','三月','四月','五月']
y = [20,56,23,12,33]
plt.barh(x,y, height=0.2)
plt.show()  

在这里插入图片描述

还可以使用color属性自定义每个柱形的颜色

x = ['一月','二月','三月','四月','五月']
y = [20,56,23,12,33]
plt.barh(x,y, height=0.2, color = ["#4CAF50","red","hotpink","#556B2F"])
plt.show()  

在这里插入图片描述

3、Matplotlib 饼图

我们可以使用 pyplot 中的 pie() 方法来绘制饼图。

注意:默认情况下,第一个扇形的绘制是从 x 轴开始并逆时针移动:

pie() 方法语法格式如下:

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, 
pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, 
counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, 
rotatelabels=False, *, normalize=None, data=None)[source]
x:浮点型数组,表示每个扇形的面积。

explode:数组,表示各个扇形之间的间隔,默认值为0。

labels:列表,各个扇形的标签,默认值为 None。

colors:数组,表示各个扇形的颜色,默认值为 None。

autopct:设置饼图内各个扇形百分比显示格式,%d%% 整数百分比,%0.1f 一位小数, %0.1f%% 一位小数百分比, %0.2f%% 两位小数百分比。

labeldistance:标签标记的绘制位置,相对于半径的比例,默认值为 1.1,如 <1则绘制在饼图内侧。

pctdistance::类似于 labeldistance,指定 autopct 的位置刻度,默认值为 0.6。

shadow::布尔值 TrueFalse,设置饼图的阴影,默认为 False,不设置阴影。

radius::设置饼图的半径,默认为 1。

startangle::起始绘制饼图的角度,默认为从 x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起。

counterclock:布尔值,设置指针方向,默认为 True,即逆时针,False 为顺时针。

wedgeprops :字典类型,默认值 None。参数字典传递给 wedge 对象用来画一个饼图。例如:wedgeprops={'linewidth':5} 设置 wedge 线宽为5。

textprops :字典类型,默认值为:None。传递给 text 对象的字典参数,用于设置标签(labels)和比例文字的格式。

center :浮点类型的列表,默认值:(0,0)。用于设置图标中心位置。

frame :布尔类型,默认值:False。如果是 True,绘制带有表的轴框架。

rotatelabels :布尔类型,默认为 False。如果为 True,旋转每个 label 到指定的角度。
import matplotlib.pyplot as plt
import numpy as np

y=np.array([15,35,25,5,20]) # 每块所占的大小
label=['A','B','C','D','E']#设置饼图标签
color=['r','b','g','y','g']#设置饼图颜色
plt.pie(y,labels=label,colors=color)
plt.show()

在这里插入图片描述

突出显示第二个扇形,并格式化输出百分比:

import matplotlib.pyplot as plt
import numpy as np

y=np.array([15,35,25,5,20])
label=['A','B','C','D','E']#设置饼图标签
color=['r','b','g','y','g']#设置饼图颜色
explodes=[0,0.2,0,0,0]# 第二部分突出显示,值越大,距离中心越远
plt.pie(y,labels=label,colors=color,explode=explodes,autopct='%.2f%%')#格式化输出百分比
plt.show()

在这里插入图片描述

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

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

相关文章

【RabbitMQ】RabbbitMQ的六种工作模式以及代码实现

目录 一、交换机类型 二、简单模式 1、介绍 2、代码实现 三、Work Queues工作队列模式 1、介绍 2、代码实现 四、Pub/Sub订阅模式 1、介绍 2、代码实现 五、Routing路由模式 1、介绍 2、代码实现 六、Topics通配符模式 1、介绍 2、代码实现 一、交换机类型 在…

uniapp开发,打包成H5部署到服务器

前端使用uniapp开发项目完成后&#xff0c;需要将页面打包&#xff0c;生成H5的静态文件&#xff0c;部署在服务器上。 这样通过服务器链接地址&#xff0c;直接可以在手机上点开来访问。 打包全步骤如下&#xff1a; 1、修改config.js内的请求地址 需要后台部署到测试服务器上…

项目进度管理软件的应用可以解决哪些问题

项目管理工具够满足了项目经理对项目资源&#xff1a;时间、人员和文档的管理&#xff0c;同时也提高了项目的可视化和促进了团队的协作。 项目进度管理要求在规定的时间内&#xff0c;通过合理的进度计划&#xff0c;在计划执行过程中&#xff0c;要检查实际进度是否按计划要…

PasteSpider之项目环境-同步过滤-键值配置介绍

项目环境 在菜单项目信息项目环境 中&#xff0c;在PasteSpider中项目->服务->环境&#xff0c;也就是服务是不能运行的&#xff0c;得绑定环境&#xff0c;比如开发环境&#xff0c;测试环境。通过这个概念你可以实现不同得人部署不同的环境&#xff0c;他们之间公用同版…

ChatGPT之父:未训练GPT-5

GPT等大型语言模型带动的芯片需求飙升趋势依然没有平息的迹象&#xff0c;英伟达的最新版旗舰AI芯片H100近日在网上的售价已经被炒到4万多美金&#xff0c;反映了科技行业对训练和部署人工智能软件的需求仍未被满足。 一、商业圈 1.马斯克成立新AI公司硬刚OpenAI 当地时间4月…

大屏开发需要知道哪些知识

大屏 大屏是什么呢&#xff1f;再我前几年刚接触这个词得时候很新颖&#xff0c;全名叫态势感知大屏&#xff0c;大屏得特点是炫酷、好看&#xff0c;给用户满满得科技感。 听一位前辈说当年再招标会上&#xff0c;再都用exel、word做界面图表文档得时候&#xff0c;有一家公司…

使用MyBatis实现条件查询

文章目录一&#xff0c;查询需求二&#xff0c;打开MyBatisDemo项目三&#xff0c;对学生表实现条件查询&#xff08;一&#xff09;创建学生映射器配置文件&#xff08;二&#xff09;在MyBatis配置文件里注册学生映射器配置文件&#xff08;三&#xff09;创建学生映射器接口…

kaggle数据集下载

一、首先需要安装kaggle winR→cmd→pip install kaggle 问题&#xff1a;安装到哪来&#xff1f;都说在c盘。可是我找不到&#xff0c;可能因为之前担心c负荷更改路径了&#xff0c;再安装一下发现已经安装成功&#xff0c;且给出了安装路径。 二、注册 (1387条消息) 最新k…

VS Code 最新 Java 编码体验更新

大家好&#xff0c;欢迎来到我们的三月更新&#xff01;我们将为您带来一系列基础编码体验的改进&#xff0c;例如运行 Java 程序的更流畅体验、AWT 项目相关的代码补全优化以及更好的 Spring Boot 项目与 Azure 的集成&#xff0c;让我们开始吧&#xff01; 运行 Java 程序的用…

开启虚拟机出现报错:“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”

&#x1f341;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; 文章目录报错原因解决方式&#xff08;这里以联…

Python办公自动化之PostgreSQL篇1——PostgreSQL安装(保姆级教程)

我们在办公中会经常用到数据量比较大的表&#xff0c;打开、保存都会相对比较卡顿。那么我们可以安装一个PostgreSQL&#xff0c;然后利用Python进行读取&#xff0c;或者再写入。最后可以将最终的数据表进行导出。 肯定会有小伙伴问&#xff0c;那么利用MySQL不行吗&#xff…

wps宏编辑器-js宏录制运行

WPS开放平台如下描述JS宏录制和运行。 WPS宏编辑器提供了一个自动生成JS代码的功能&#xff0c;即录制宏。录制宏功能通过宏录制器捕捉用户与WPS交互的操作&#xff0c;并以JS代码的形式记录下来&#xff0c;整个过程是自动的&#xff0c;不需要用户写代码。在实际的WPS二次开发…

D. Odd-Even Subsequence(二分 + 奇偶下标的取法)

Problem - D - Codeforces Ashish有一个大小为n的数组a。A的子序列被定义为一个序列&#xff0c;该序列可以通过删除一些元素(可能是不删除)从A中获得&#xff0c;而不改变剩余元素的顺序。考虑a的子序列s。他将s的代价定义为以下两者之间的最小值:在s的奇数指数下所有元素中的…

SAR ADC系列27:实践讲解1

Latch比较器Noise仿真 比较器后面加RS触发器&#xff0c;当比较器复位时&#xff0c;OUTP和OUTN输出为11&#xff0c;RS触发器锁存&#xff1b;当比较器比较时&#xff0c;OUTP和OUTN输出一正一负&#xff0c;RS触发器相当于反相器。 做法&#xff1a;改变Vin的值&#xff0c;…

SAM(Segment Anything Model)让CV走到尽头?学CV的研究生还能正常毕业吗?怎么使用SAM?

SAM&#xff08;Segment Anything Model&#xff09;让CV走到尽头&#xff1f;学CV的研究生还能正常毕业吗&#xff1f;怎么使用SAM&#xff1f; 1. 引言 最近无论是在B站、知乎还是论坛、微博&#xff0c;都看了一些有关SAM的讨论。这个号称“CV界ChatGPT”的模型从出生起就…

x86中断基础

x86中断基础 原文&#xff1a;Basic x86 interrupts 作者&#xff1a;Alex Dzyoba 原文发表日期&#xff1a;2016年4月2日 在我的关于多重引导内核的文章中&#xff0c;我们看到了如何加载内核、打印文本&#xff0c;然后停止。然而要让操作系统可用&#xff0c;需要支持键…

[chapter 26][PyTorch][MNIST 测试实战】

前言 这里面结合手写数字识别的例子&#xff0c;讲解一下训练时候注意点 目录 训练问题解决方案参考代码一 训练问题 训练的时候,我们的数据集分为Train Data 和 validation Data。 随着训练的epoch次数增加&#xff0c;我们发现Train Data 上精度 先逐步增加&#xff0c;但…

协议篇之以太网ARP协议

协议篇之以太网ARP协议一、什么是ARP协议&#xff1f;作用是什么&#xff1f;二、ARP请求与ARP应答三、以太网ARP数据报格式四、总结一、什么是ARP协议&#xff1f;作用是什么&#xff1f; ARP&#xff08;Address Resolution Protocol&#xff09;&#xff0c;地址解析协议&am…

GUID分区与MBR分区有什么区别? 操作系统知识

GUID分区与MBR分区有什么区别&#xff1f; 操作系统知识 1、MBR分区表类型的磁盘 主引导记录&#xff08;Master Boot Record&#xff0c;缩写&#xff1a;MBR&#xff09;&#xff0c;又叫做主引导扇区&#xff0c;它仅仅包含一个64个字节的硬盘分区表。由于每个分区信息需要…

以ChatGPT为例进行自然语言处理学习——入门自然语言处理

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的在读研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三…