【Python】 【绘图】plt.figure()的使用

【Python】 【绘图】plt.figure()的使用1.figure语法及操作(1)figure语法说明figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True)num:图像编号或名称,数字为编号,字符串为名称 figsize:指定figure的宽和高,单位为英寸; dpi参数指定绘图对象的分辨率,即每英寸多少个像素,…

大家好,又见面了,我是你们的朋友全栈君。

1.figure语法及操作

(1)figure语法说明

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

  • num:图像编号或名称,数字为编号 ,字符串为名称
  • figsize:指定figure的宽和高,单位为英寸;
  • dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80      1英寸等于2.5cm,A4纸是 21*30cm的纸张 
  • facecolor:背景颜色
  • edgecolor:边框颜色
  • frameon:是否显示边框

(2)例子:

import matplotlib.pyplot as plt
创建自定义图像
fig=plt.figure(figsize=(4,3),facecolor=’blue’)
plt.show()

2.subplot创建单个子图

(1) subplot语法

subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)

【Python】 【绘图】plt.figure()的使用

 

subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图 ,参考下面例子。

 

(2)例子

import numpy as np  
import matplotlib.pyplot as plt  
x = np.arange(0, 100)  
#作图1
plt.subplot(221)  
plt.plot(x, x)  
#作图2
plt.subplot(222)  
plt.plot(x, -x)  
 #作图3
plt.subplot(223)  
plt.plot(x, x ** 2)  
plt.grid(color=’r’, linestyle=’–‘, linewidth=1,alpha=0.3)
#作图4
plt.subplot(224)  
plt.plot(x, np.log(x))  
plt.show()  

 

【Python】 【绘图】plt.figure()的使用

3.subplots创建多个子图

(1)subplots语法

subplots参数与subplots相似

 

(2)例子

import numpy as np  
import matplotlib.pyplot as plt

x = np.arange(0, 100)  
#划分子图
fig,axes=plt.subplots(2,2)
ax1=axes[0,0]
ax2=axes[0,1]
ax3=axes[1,0]
ax4=axes[1,1]

#作图1
ax1.plot(x, x)  
#作图2
ax2.plot(x, -x)
 #作图3
ax3.plot(x, x ** 2)
ax3.grid(color=’r’, linestyle=’–‘, linewidth=1,alpha=0.3)
#作图4
ax4.plot(x, np.log(x))  
plt.show() 

 

【Python】 【绘图】plt.figure()的使用

 

 

4.面向对象API:add_subplots与add_axes新增子图或区域

add_subplot与add_axes都是面对象figure编程的,pyplot api中没有此命令

 

(1)add_subplot新增子图

add_subplot的参数与subplots的相似

 

import numpy as np  
import matplotlib.pyplot as plt  
x = np.arange(0, 100)  
#新建figure对象
fig=plt.figure()
#新建子图1
ax1=fig.add_subplot(2,2,1)      
ax1.plot(x, x) 
#新建子图3
ax3=fig.add_subplot(2,2,3)
ax3.plot(x, x ** 2)
ax3.grid(color=’r’, linestyle=’–‘, linewidth=1,alpha=0.3)
#新建子图4
ax4=fig.add_subplot(2,2,4)
ax4.plot(x, np.log(x))  
plt.show()

 

【Python】 【绘图】plt.figure()的使用

 

可以用来做一些子图。。。图中图。。。

(2)add_axes新增子区域

add_axes为新增子区域,该区域可以座落在figure内任意位置,且该区域可任意设置大小

add_axes参数可参考官方文档:http://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure

 

import numpy as np  
import matplotlib.pyplot as plt  

#新建figure
fig = plt.figure()
# 定义数据

 

x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]
#新建区域ax1

 

#figure的百分比,从figure 10%的位置开始绘制, 宽高是figure的80%
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
# 获得绘制的句柄
ax1 = fig.add_axes([left, bottom, width, height])
ax1.plot(x, y, ‘r’)
ax1.set_title(‘area1’)

 

 

 

#新增区域ax2,嵌套在ax1内
left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
# 获得绘制的句柄
ax2 = fig.add_axes([left, bottom, width, height])
ax2.plot(x,y, ‘b’)
ax2.set_title(‘area2’)
plt.show() 

 

【Python】 【绘图】plt.figure()的使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148467.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 云服务器和虚拟主机有哪些区别

    云服务器和虚拟主机有哪些区别虚机主机就是利用技术把一台服务器分成多个“虚拟”的主机,这些划分出来的主机具有独立的域名,和具有完整的Internet服务器功能,划分出来的虚拟主机共享服务器的宽带和IP。虚机主机之所以使用率较高,是因为相对于购买服务器和租用专线的费用,虚机主机价格便宜,操作简单。但虚机主机没有独立的操作系统,只能通过提供的控制面板操作。虚拟主机由于是共享主机,稳定性较差,访问速度有限。云服务器又叫云主

  • SplitContainer(拆分条控件)

    SplitContainer(拆分条控件)1.可以将Windows窗体SplitContainer控件看作是一个复合体,它是由一个可移动的拆分条分隔的两个面板。当鼠标指针悬停在该拆分条上时,指针将相应地改变形状以显示该拆分条是可移动的。使用SplitContainer控件,可以创建复合的用户界面(通常,在一个面板中的选择决定了在另一个面板中显示哪些对象)。这种排列对于显示和浏览信息非常有用。拥有两个面板使您可以聚合不同区

  • linux单引号双引号反引号_unix和linux的区别

    linux单引号双引号反引号_unix和linux的区别特殊的赋值Shell中可以将数字或字符直接赋予变量,也可以将Linux命令的执行结果赋予变量,如下:(1)$count=9#将数字赋予变量count(2)$name=”ming”#将字符赋予变量name(3)$listc=`ls-la`#将Linux命令赋予listc,listc的值就是该命令的执行结果反引号的作用反引号的作用就是将反引号内的Lin…

    2022年10月25日
  • 如何设计一个通用的权限管理系统

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:PioneerYi juejin.im/post/6850037267554287629 一个系统,如果没有安…

  • nextline函数_Java中的nextline()函数与next()问题

    nextline函数_Java中的nextline()函数与next()问题【写在前面】importJava.util.*;Scannerin=newScanner(http://System.in);【出现的问题】在循环中相连的nextLine();会出现第一个nextLine();跳过的问题.就像这个样子://部分代码for(inti=0;iSystem.out.println();Stringname=in.nextLine();System.o…

  • idea springboot启动报SLF4J:Failed to load class “org.slf4j.impl.StaticLoggerBinder”「建议收藏」

    idea springboot启动报SLF4J:Failed to load class “org.slf4j.impl.StaticLoggerBinder”「建议收藏」首先声明一下,我用的IntellijIDEA2018.3版本的,springboot的版本是2.0.5.RELEASE版本。当我喜滋滋的编写完测试代码,点击Debug的时候,睁大眼睛看控制台简直是看得一脸懵逼,控制台显示如下:SLF4J:Failedtoloadclass"org.slf4j.impl.StaticLoggerBinder".SLF4J:D…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号