当前位置: 首页 > news >正文

灯具公司网站模板做360手机网站快

灯具公司网站模板,做360手机网站快,企业关键词排名优化网址,汶上网站建设哪家便宜Matplotlib 是 Python 最著名的 2D 绘图库,它提供了一个交互式环境,可以生成各种静态、动态和交互式的图表。 一、Matplotlib 简介 1、主要特点 跨平台:支持 Windows、Linux 和 Mac OS X 多输出格式:支持 PNG、PDF、SVG 等多种…

Matplotlib 是 Python 最著名的 2D 绘图库,它提供了一个交互式环境,可以生成各种静态、动态和交互式的图表。

一、Matplotlib 简介

1、主要特点

  • 跨平台:支持 Windows、Linux 和 Mac OS X

  • 多输出格式:支持 PNG、PDF、SVG 等多种格式

  • 高度可定制:几乎可以控制图形的每个元素

  • 多种图形类型:线图、柱状图、散点图、等高线图等

  • 与 NumPy 无缝集成:完美支持 NumPy 数组

2、主要组件

  • pyplot:提供类似 MATLAB 的绘图接口

  • pylab:将 pyplot 与 numpy 合并到一个命名空间(不推荐使用)

  • Figure:顶级容器,包含所有图表元素

  • Axes:实际的绘图区域,包含坐标轴、标签等

官方案例库

https://matplotlib.org/stable/gallery/index.htmlhttps://matplotlib.org/stable/gallery/index.html 

二、Matplotlib基本使用方法

(一)安装

1、安装 Matplotlib

pip install matplotlib

2、Matplotlib图像主要组成部分

Matplotlib图像的主要组成部分包括:

画布(figure):画布是所有绘制元素的顶级容器,可将其视为一张白纸,供我们后期创作;

轴域(axes):轴域是图中绘制数据的矩形区域,每个画布可以包含一个或多个轴,轴提供坐标系;

标题(title):标题是一个文本元素,通常用于提供所绘图像的信息;

轴标签(x label,y label):标签是为 x 轴和 y 轴提供描述的文本元素,用于提供单位或其他相关信息;

图例(legend):图例用于指示图中不同元素的含义;

网格线(grid):网格线用于帮助读者对齐刻度线,从而更准确地读取数据点的位置和值。

3、创建空白画布

在使用Matplotlib绘制图形时,其中有两个最为常用的场景。一个是画点,一个是画线。pyplot基本方法的使用如下表:

plt.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True) 

num:画布编号,默认值为1;

figsize:指定画布宽高,默认为(6.4,4.8);

dpi:图像分辨率,单位为pixel/inch,默认值为80;

facecolor:背景颜色,默认值为白色;

edgecolor:边框颜色;

frameon:是否显示边框,默认显示。

import numpy as np
from matplotlib import pyplot as plt
fig=plt.figure(figsize=(8,6),dpi=100,facecolor='c') # 创建一个尺寸为(8,6),分辨率为100dpi,背景色为青色的画布
plt.show()

4、基本绘图 

import matplotlib.pyplot as plt
import numpy as np# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)# 创建图形
plt.figure(figsize=(8, 4))  # 设置图形大小# 绘制曲线
plt.plot(x, y, label='sin(x)', color='blue', linewidth=2)# 添加标题和标签
plt.title('Sine Wave')
plt.xlabel('x axis')
plt.ylabel('y axis')# 添加图例
plt.legend()# 显示网格
plt.grid(True)# 显示图形
plt.show()

(二)常用图表类型

1、折线图

折线图 :以折线的上升或下降来表示统计数量的增减变化的统计图

特点:能够显示数据的变化趋势,反映事物的变化情况。 ( 变化 )

api: plt.plot(x, y)

plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')

plt.plot(x,y,*args)

主要设置参数有:color(c,颜色)、linestyle(ls,线型)、marker(点标记)、linewidth(lw,线宽),markersize(标记大小)、markerfacecolor(mfc,标记填充色),label(标签,与图例配合使用)、alpha(透明度,取值为0-1,0为完全透明,1为完全不透明)等。

其中主要颜色有:

r(red)

红色

b(blue)

蓝色

g(green)

绿色

y(yellow)

黄色

k(black)

黑色

w(white)

白色

c(cyan)

青色

m(magenta)

洋红色 

此外,还支持十六进制的RGB色号,如:

主要线型有:

-

solid

--

dashed

-.

dashdot

:

dotted

主要点标记有: 

markerdescriptionmarkerdescription
"."point","pixel
"o"circle"v"triangle_down
"^"triangle_up"<"triangle_left
">"triangle_right"1"tri_down
"2"tri_up"3"tri_left
"4"tri_right"8"octagon
"s"square"p"pentagon
"P"plus (filled)"*"star
"h"hexagon1"H"hexagon2
"+"plus"x"x
"X"x (filled)"D"diamond
"d"thin_diamond"|"vline
"_"hline

其样式如下:

2、散点图 

散点图: 用两组数据构成多个坐标点,考察坐标点的分布 , 判断两变量之间是否存在某种关联或总结坐标
点的分布模式。
特点:判断变量之间是否存在数量关联趋势 , 展示离群点 ( 分布规律 )
api: plt.scatter(x, y)

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.scatter(x, y, color='red') # 绘制红色散点图
plt.title("Simple Scatter Plot") # 设置图表标题
plt.xlabel("X-axis") # 设置X轴标签
plt.ylabel("Y-axis") # 设置Y轴标签
plt.show() # 显示图表

3、柱状图

柱状图: 排列在工作表的列或行中的数据可以绘制到柱状图中。
特点:绘制连离散的数据 , 能够一眼看出各个数据的大小 , 比较数据之间的差别。 ( 统计 / 对比 )

api: plt.bar(x, width, align='center', **kwargs)
Parameters:
x : 需要传递的数据
width : 柱状图的宽度
align : 每个柱状图的位置对齐方式
{'center', 'edge'}, optional, default: 'center'
**kwargs :
color: 选择柱状图的颜色

categories = ['A', 'B', 'C', 'D']
values = [3, 7, 5, 4]
plt.bar(categories, values, color='blue') # 绘制蓝色柱状图
plt.title("Simple Bar Chart") # 设置图表标题
plt.xlabel("Categories") # 设置X轴标签
plt.ylabel("Values") # 设置Y轴标签
plt.show() # 显示图表

4、饼图

饼图: 用于表示不同分类的占比情况,通过弧度大小来对比各种分类。
特点:分类数据的占比情况 ( 占比 )

api: plt.pie(x, labels=,autopct=,colors)
Parameters:
x: 数量,自动算百分比
labels: 每部分名称
autopct: 占比显示指定 %1.2f%%
colors: 每部分颜色

sizes = [25, 35, 25, 15]
labels = ['Category A', 'Category B', 'Category C', 'Category D']
plt.pie(sizes, labels=labels, autopct='%1.1f%%') # 绘制饼图,显示百分比
plt.title("Simple Pie Chart") # 设置图表标题
plt.show() # 显示图表

5、直方图

由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。
特点:绘制连续性的数据展示一组或者多组数据的分布状况 ( 统计 )

api: matplotlib.pyplot.hist(x, bins=None)
Parameters:
x : 需要传递的数据
bins : 组距

# 1. 生成数据
data = np.random.randn(500) # 生成500个服从标准正态分布的随机数
# 2. 创建画布
plt.figure(figsize=(10, 6))
# 3. 绘制直方图
plt.hist(data, bins=30, color='blue', alpha=0.7, rwidth=0.85)
# 4. 添加标题和标签
plt.title("Histogram of Normally Distributed Data")
plt.xlabel("Value")
plt.ylabel("Frequency")
# 5. 显示图像
plt.grid(True)
plt.show()
参数说明
bins=30:将数据分成 30 个等宽的区间,每个区间的宽度相同,统计每个区间内数据的频率。
color='blue':设置直方图条形为蓝色。
alpha=0.7:设置条形的透明度为 0.7,使得条形稍微透明。
rwidth=0.85:将条形的宽度设为区间宽度的 85%,留下 15% 的间隔,以便更清晰地分辨各个条形。

(三)高级功能

1、多子图

多子图可由以下两种方式绘制。

方式一:

fig=plt.figure(facecolor='lightblue')x1=np.linspace(0,2*np.pi,200)
y1=np.sin(x1)
plt.subplot(2,2,1) # 一共2×2个子图,此为第一个
plt.plot(x1,y1,linestyle='-',color='b',label='y=sin(x)')
plt.title('y=sin(x)')
plt.xlabel('x',loc='right')
plt.ylabel('y',loc='top')
plt.grid(alpha=0.8)
x_ticks=np.linspace(0,2*np.pi,5)
x_labels=['0','π/2','π','3π/2','2π']
plt.xticks(x_ticks,x_labels)
plt.yticks(np.linspace(-1,1,5))x2=np.linspace(0,2*np.pi,200)
y2=np.cos(x2)
plt.subplot(2,2,2) # 一共2×2个子图,此为第二个
plt.plot(x2,y2,linestyle='--',color='g',label='y=cos(x)')
plt.title('y=cos(x)')
plt.xlabel('x',loc='right')
plt.ylabel('y',loc='top')
plt.grid(axis='y',alpha=0.5)
plt.xticks(x_ticks,x_labels)
plt.yticks(np.linspace(-1,1,5))x3=np.linspace(0,10,200)
y3=np.exp(x3)
plt.subplot(2,2,3) # 一共2×2个子图,此为第三个
plt.plot(x3,y3,linestyle='-.',color='orange',alpha=0.7,label='y=e^x')
plt.title('y=e^x')
plt.xlabel('x',loc='right')
plt.ylabel('y',loc='top')x4=np.linspace(0.01,10,200)
y4=np.log10(x4)
plt.subplot(2,2,4) # 一共2×2个子图,此为第四个
plt.plot(x4,y4,linestyle=':',color='r',alpha=0.6,label='y=lg(x)')
plt.title('y=lg(x)')
plt.xlabel('x',loc='right')
plt.ylabel('y',loc='top')plt.tight_layout() # 自动调整布局(紧凑布局)
plt.show()

方式二:

fig,ax=plt.subplots(2,2) # 这种创建方式会返回fig、ax两个对象,其中ax是一个轴域列表,形状与子图的形状一致
ax1,ax2,ax3,ax4=ax.flatten() # 可以将列表展平后逐个取出x1=np.linspace(0,2*np.pi,200)
y1=np.sin(x1)
ax1.plot(x1,y1,label='y=sin(x)')
ax1.set_title('y=sin(x)')x2=np.linspace(0,2*np.pi,200)
y2=np.cos(x2)
ax2.plot(x2,y2,label='y=cos(x)')
ax2.set_title('y=cos(x)')x3=np.linspace(0,10,200)
y3=np.exp(x3)
ax3.plot(x3,y3,label='y=e^x')
ax3.set_title('y=e^x')x4=np.linspace(-5,5,200)
y4=np.power(x4,2)
ax4.plot(x4,y4,label='y=x^2')
ax4.set_title('y=x^2')plt.tight_layout()
plt.show()

2、3D 绘图

matplotlib支持绘制三维线框图, 三维曲面图, 三维散点图. 需要使用axes3d提供3d坐标系

import numpy as np
import matplotlib.pyplot as pltfig = plt.figure()
ax3d = fig.add_subplot(121, projection='3d')# filled为bool类型数组,在True的元素下标位置绘制体元素
i, j, k = np.indices((3, 3, 3))
filled = (i == j) & (j == k)  # 3行3列3层,对角线为True
c = plt.get_cmap('RdBu')(np.linspace(0, 1, 27)).reshape(3, 3, 3, 4)# ax3d.voxels(filled)             #filled为True的位置绘制六面体
ax3d.voxels(filled, facecolors=c)  # filled为True的位置绘制六面体,并设置颜色#
ax3d = fig.add_subplot(122, projection='3d')
# x,y,z=np.indices((3,4,5))
# ax3d.voxels(x,y,z,filled)plt.show()

3、自定义样式

plt.style.use('ggplot')  # 使用ggplot风格
# 其他可用风格:'seaborn', 'fivethirtyeight'等

(四)保存图形

plt.savefig('figure.png', dpi=300, bbox_inches='tight')

Matplotlib 功能强大且灵活,几乎可以创建任何类型的可视化图表。对于更高级的数据可视化,可以结合使用 Pandas 和 Seaborn 库。

参考文章

【Matplotlib基本使用】-CSDN博客

Python:Matplotlib详细使用_matplotlib在python中的用法-CSDN博客

http://www.dtcms.com/a/525924.html

相关文章:

  • 网站免费维护期是多少.net 做手机网站吗
  • 工控主机做网站服务器宁夏住房和城乡建设官方网站
  • 广州seo网站营销网站安全 维护
  • Python 类的用法
  • 零钱通项目
  • 网站如何做免费推广商业网站开发入门
  • 怎样制作表白网站如何用c语言做网站
  • C++——多态——应试重点
  • 中国建筑网建设通网站怎么建网站卖产品
  • 用phpstrom 调试 webman
  • 杭州自助建站软件网页设计素材网站有哪些
  • 网站建设设计公司类网站织梦模板(带手机端)嘉兴市城乡规划建设局网站
  • 苏州网站制作出名 乐云践新商务网站开发综合实训
  • 品牌餐饮加盟网站建设整体vi设计公司
  • 个人怎样申请网站宁波网页设计
  • 南京网站定制wordpress和帝国
  • DTD 元素:XML 与 SGML 文档结构解析指南
  • 云建站系统前三名石家庄最新数据消息
  • LLM 论文精读(十二)DeepSeek-OCR: Contexts Optical Compression
  • 软件生命周期与开发模型全解析
  • 电子商务网站有哪几种只做自己网站
  • 以下几个方面可以获取淘宝商品评论 API 数据
  • 人工智能网站应怎么做企业营销策划案例分析
  • 找考卷做要去哪个网站互联网最好的公司
  • 谷歌地图网站代码电子商务网站开发技术路线
  • 外贸网站模板推荐中国城乡住建部建设部网站
  • 2026版基于python大数据的电影分析可视化系统
  • 2025MathorCup大数据竞赛B题思路模型详细分析:物流理赔风险识别及服务升级问题
  • 有免费做推广的网站吗在线培训课程
  • PSMA-FAPI,前列腺特异性膜抗原-成纤维活化蛋白抑制剂偶联分子-相关资料