Python3 Matplotlib展示数据

matplotlib 是一个 Python 库,用于创建各种类型的图表和可视化。它提供了一个类似于 MATLAB 的绘图界面,使用户能够轻松地绘制线图、散点图、直方图、饼图等各种图表类型。matplotlib 可以在 Python 脚本、IPython shell、Jupyter Notebook 等环境中使用,并且具有高度的定制性,用户可以调整图表的各个方面,如颜色、线条样式、标签等。因其功能强大且易于使用,成为了 Python 中最受欢迎的绘图库之一。

1.用Matplotlib展示简单图表

使用 NumPy 和 Matplotlib 库来生成一个包含正弦和余弦函数的简单图表。

代码示例:

import numpy as np  # 导入NumPy库并将其重命名为np
import matplotlib.pyplot as plt  # 导入Matplotlib库中的pyplot模块并重命名为plt

# # 使用NumPy中的linspace函数生成从-π到π之间的256个等间距数据点并将其存储在变量X中
X = np.linspace(-np.pi, np.pi, 256, endpoint=True)  
# 使用NumPy中的cos函数和sin函数分别计算X中每个点的余弦值和正弦值,并将结果存储在C和S中
C,S = np.cos(X), np.sin(X)

plt.plot(X,C)  # 绘制余弦函数,其中X作为横坐标,C为纵坐标
plt.plot(X,S)  # 绘制正弦函数,X作为横坐标,S为纵坐标

plt.show()  # 显示绘制的图表

输出结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.用Matplotlib展示带标签的图表

第一个例子只是简单地展示了正余弦函数曲线和x,y坐标轴,接下来创建一个带图表标题、图表标签、坐标轴标签和图例的图表。

代码示例:

import numpy as np
import matplotlib.pyplot as plt
# 从Matplotlib中的字体管理器模块导入FontProperties类
from matplotlib.font_manager import FontProperties 

# 创建一个字体属性对象,指定字体文件的路径和大小,这里使用的是宋体字体,字号为14
font = FontProperties(fname=r"C:\\WINDOWS\\Fonts\\simsun.ttc", size=14)#C:\WINDOWS\Fonts

#创建一个图形对象,并设置其大小为宽度8英寸,高度6英寸,分辨率为80像素/英寸。
plt.figure(figsize=(8,6), dpi=80)

#创建一个网格,设置其编号为 1x1 的第一个图
plt.subplot(111)

# 使用NumPy的linspace函数生成从-π到π之间的256个等间距的数据点,并将其存储在X中
X = np.linspace(-np.pi, np.pi,256, endpoint=True)
C,S=np.cos(X),np.sin(X)

# 设置线条颜色为蓝色,线宽为1.0,线型为实线,并设置图例标签为'cos'
plt.plot(X,C,color='blue',linewidth='1.0',linestyle='-',label='cos')
# 设置线条颜色为绿色,线宽为1.0,线型为实线,并设置图例标签为'cos'
plt.plot(X,S,color='green',linewidth='1.0',linestyle='-',label='sin')

# 设置 X 轴的范围为 -4 到 4
plt.xlim(-4.0,4.0)
## 设置X轴刻度的位置为-4到4的等间距刻度,共9个
plt.xticks(np.linspace(-4,4,9,endpoint=True))
# 设置Y轴的范围
plt.ylim(-1.0,1.0)
#设置Y轴的间距
plt.yticks(np.linspace(-1,1,5,endpoint=True))

#设置一些图标
plt.title('二维坐标系',fontproperties=font)  # 设置图表的标题为'二维坐标系',并使用宋体
plt.xlabel('X轴',fontproperties=font)  # 设置x轴的标签为'X轴'
plt.ylabel('Y轴',fontproperties=font)  # 设置y轴的标签为'Y轴'
plt.legend(loc='upper left',frameon=True)  # 在图表中添加图例,位置在左上角,并显示图例框
plt.show()  #  显示绘制的图表

输出结果:

3.绘制散点图

使用 NumPy 生成两个包含随机数的数组X和Y,这些随机数服从均值为 0,标准差为1的正态分布(也称高斯分布)。然后使用 Matplotlib 的 scatter 函数将这些点绘制在二维平面上。

代码示例:

import numpy as np
import matplotlib.pyplot as plt

n = 1024
X = np.random.normal(0,1,n)  # 使用NumPy的random.normal函数生成一个包含1024个随机数的数组X,这些随机数服从均值为0,标准差为1的正态分布
Y = np.random.normal(0,1,n)

plt.scatter(X,Y)  # 使用scatter函数绘制散点图,X轴上为X数组的值,Y轴上为Y数组的值,它们一一对应一个散点。即将X和Y数组中的每个相同索引的元素看作一个点的坐标,并在二维平面上绘制出来
plt.show()  # 显示绘制的散点图

输出结果:

4.绘制柱状图

使用 NumPy 生成两组数据 Y1 和 Y2,并使用Matplotlib的bar函数将它们绘制成柱状图,同时在每个柱上方标注了对应的数值。

代码示例:

import numpy as np
import matplotlib.pyplot as plt

n = 12  # 定义一个变量 n,表示要生成的数据点的数量
X = np.arange(n)  # # 用NumPy的 arange 函数生成一个包含n个元素的数组X,表示x轴上的坐标点,从0到11,[ 0  1  2  3  4  5  6  7  8  9 10 11]

# 生成第一组数据Y1,这些数据通过将随机数乘以一个逐渐减小的系数来生成,从而使得数据逐渐减小。这里使用了NumPy的random.uniform函数生成位于[0.5, 1.0) 区间内的均匀分布的随机数
Y1 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)  

Y2 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)

# 使用Matplotlib的bar函数绘制第一组数据的柱状图,其中facecolor参数设置柱体颜色为浅蓝色,edgecolor参数设置边框颜色为白色
plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')
# 使用bar函数绘制第二组数据的柱状图,但是Y2取负值,使得柱体朝向下方,并且设置柱体颜色为浅红色
plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')

for x,y in zip(X,Y1):  # 使用zip函数将X和Y1中的对应元素打包成元组,并遍历这些元组
    # 在每个柱状图的顶部绘制对应的数值,x+0.4是横坐标,y+0.05是纵坐标,'%.2f' %y表示将y的值格式化为保留两位小数的字符串,ha参数设置水平对齐方式为居中,va参数设置垂直对齐方式为底部
    plt.text(x+0.4, y+0.05, '%.2f' % y, ha='center', va= 'bottom')

for x,y2 in zip(X,Y2):
    plt.text(x-0.05, -y2-0.1, '%.2f' % y2, ha='center', va= 'bottom')
    
plt.ylim(-1.25,+1.25)  # 设置y轴的取值范围为-1.25到+1.25
plt.show()

输出结果:

5. 绘制函数 y = 1 / (1 + e^(-x)) 的曲线图

代码示例:

import numpy as np
import matplotlib.pyplot as plt

# 使用NumPy的linspace函数生成一个从-30到30的等间距的包含多个点的数组x,这些点用于表示x轴上的坐标
x=np.linspace(start=-30,stop=30,endpoint=True)
y=1/(1+np.e**-x)  # 计算出Logistic函数的值

plt.figure(figsize=(10,4))  # 大小为宽度10英寸,高度4英寸
plt.plot(x,y,color='red',linewidth=2)
plt.show()

输出结果:

以上内容总结自网络,整理不易,如有帮助欢迎转发,我们下次再见!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

探索数据分析无限潜能:vividime Desktop助力企业智能决策

在数字化浪潮席卷全球的今天,数据已经成为企业最宝贵的资产之一。通过对海量数据的深度挖掘和分析,企业能够洞察市场趋势、优化运营流程、提升用户体验,从而在激烈的市场竞争中脱颖而出。永洪科技的vividime Desktop作为一款功能强大、操作简…

客观评价,可道云teamOS搭建的企业网盘,如Windows本地电脑一般的使用体验真的蛮不错

不管是企业网盘还是私有网盘,简单易用一直是我比较在意的。快速能上手使用,甚至不需要习惯一套新的操作逻辑,代表着不需要学习适应,能够迅速投入正常使用。 在这个过程中,可道云teamos以其Windows电脑般的流畅体验&am…

【PowerDesigner】PDM生成建表脚本

目录 🌊1. PowerDesigner简介 🌍1.1 常用模型文件 🌍1.2 PowerDesigner使用环境 🌊2. PDM生成建表脚本 🌊3. 研究心得 🌊1. PowerDesigner简介 🌍1.1 常用模型文件 主要使用PowerDesigne…

操作系统入门 -- 进程的同步与互斥

操作系统入门 – 进程的同步与互斥 在之前的文章中,我们了解了进程是如何被调度的。但在调度之前,进程需要获得资源。而获得这些资源则可能让进程之间陷入冲突。为了高效且平等地调度线程,需要引入同步功能。 1.临界资源 1.1 临界资源的描述…

AI 克隆声音,只需 3 分钟(附最全教程)

作者:寒斜 继生成式文本大模型 Chatgpt,生成式图片 Stablediffusion 之后生成式语音 Text To Speech 在开源社区也出现了一匹黑马,就是 GPT-Sovits [ 1] 。 之所以说他是黑马,让人觉得惊艳,是因为在语音效果克隆上做…

之所以选择天津工业大学,因为它是双一流、报考难度适宜,性价比高!天津工业大学计算机考研考情分析!

天津工业大学(Tiangong University),简称“天工大”,位于天津市,是教育部与天津市共建高校、国家国防科技工业局和天津市共建的天津市重点建设高校、国家“双一流”建设高校、天津市高水平特色大学建设高校、中国研究生…

引领未来建筑潮流:轻空间设计团队打造“淄博珍珠”

作为国内单体最大的气膜会展场馆,“淄博珍珠”自四年前启用以来,已成为淄博市的重要地标和经济引擎。该场馆首次亮相于第二十届中国(淄博)国际陶瓷博览会,凭借其独特的设计和先进的建筑理念,吸引了社会各界…

AD层次原理图绘制

一、在原理图中添加端口 二、添加层次图 三、更新层次图 四、也可以先画层次图,再绘制原理图,这里就不做演示了

电影美学复古胶片特效视频转场模板 | Premiere Pro 项目工程文件

这个Premiere Pro项目工程文件是一个电影美学胶片特效视频转场模板,每个过渡效果都散发出一种有机的怀旧魅力,让人回忆起经典电影卷轴和模拟摄影的独特美感。 项目特点: 胶片烧伤过渡效果:包括从微妙的闪烁到大胆的爆发&#xff…

第九届信也科技杯全球AI算法大赛——语音深度鉴伪识别参赛A榜 0.968961分

遗憾没有进复赛,只是第41名。先贴个A榜的成绩。A榜的前三十名晋级,个个都是99分的大佬,但是B榜的成绩就有点低了,应该是数据不同源的问题,第一名0.78分。官网链接:语音深度鉴伪识别 官方baselin:https://g…

Centos7.9安装Python3.8.16解决yum无法使用问题

Centos7.9安装Python3.8.16解决yum无法使用问题 文章目录 前言一、前期准备1.下载到新建目录2.安装依赖 二、编译1.解压2.编译安装3.建立命令软链接3-1.查看默认的python及新安装的python3都安装在哪?3-2.修改python3的软链接3-3.修改pip的软链接 三、修复yum1.查看…

SolidWorks科研版更快地开发产品创意

在当今竞争激烈的市场环境中,产品创新的速度和质量直接决定了企业的生死存亡。对于科研人员和设计师来说,如何能够快速、准确地实现产品创意的转化,是摆在面前的一大挑战。SolidWorks科研版作为一款功能强大的三维设计软件,为科研…

金鸣识别系统:PDF转Excel的高效利器

在日常办公中,我们经常需要将PDF文档转换为Excel表格以便进行数据分析。然而,当有些PDF转换过程可能会变得复杂,因为许多转换工具无法完美处理图片元素,导致转换后的准确率不高或排版错乱。幸运的是,金鸣识别系统以其卓…

引领潮流!Xinstall创新技术让App免填邀请码成为可能,轻松吸引海量用户!

在快速变化的互联网环境下,App推广和运营面临着诸多挑战。如何迅速搭建起满足用户需求的运营体系,提高获客转化的效率和用户留存,成为了众多企业急待解决的问题。而邀请码作为App推广中常见的手段,其繁琐的填写过程常常让用户望而…

【启明智显产品介绍】工业级HMI芯片Model3芯片详解(二)图像显示

Model3芯片是一款集大容量存储、宽温操作范围及多功能接口于一身的MCU,配备了 2D 图像加速引擎和 PNG 解码/JPEG 编解码引擎,可以满足各类交互设计场景和多媒体互动需求,具有高可靠性、高安全性、高开放度的特点,可以面向于泛工业…

基于PHP+MySQL组合开发的知识付费小程序源码系统 带完整的源代码包+搭建部署教程

系统概述 随着互联网的快速发展,知识付费逐渐成为了一种新型的经济模式。越来越多的用户愿意为高质量的内容付费,而开发者们也在不断探索和创新,以提供更加便捷、高效的知识付费平台。本文将详细介绍一个基于PHPMySQL组合开发的知识付费小程…

中国500米分辨率年平均LAI数据集(2000-2020)

叶面积指数LAI(Leaf Area Index)是描述植被冠层几何结构的基本参数之一,被定义为单位地表面积上所有叶片面积的倍数,它控制着植被的许多生物物理过程,如光合作用、呼吸作用、蒸腾作用、碳循环和降水截获等,是陆面过程一个十分重要…

pytorch基础【4】梯度计算、链式法则、梯度清零

文章目录 梯度计算计算图(Computational Graph)梯度求导(Gradient Computation)函数与概念 示例代码更多细节梯度求导的过程梯度求导的基本步骤示例代码注意事项总结 链式法则是什么?链式法则的数学定义链式法则在深度…

从粉丝基础到带货数据:全方位解读TikTok带货达人的选择之道

在如今的数字营销时代,TikTok已成为品牌推广和产品销售的重要平台。通过与合适的TikTok带货达人合作,品牌可以迅速吸引大量的潜在客户,实现销售转化。然而,选择合适的TikTok达人需要慎重考虑多个因素。本文Nox聚星将和大家详细阐述…