python3绘图示例6-2(基于matplotlib,绘图流程介绍及设置等)

#!/usr/bin/env python# -*- coding:utf-8 -*-

import os

import numpy as npimport matplotlib as mpltfrom matplotlib import pyplot as pltfrom matplotlib.ticker import *

# 整个图像为1个figure对象,figure对象包含多个Axes对象,每个Axes对象都拥有自己坐标轴的绘图区域# 调用figure时,则调用plot,然后plot调用gca,获取axes绘图区域# 然后gca调用gcf,获取当前figure,如为空则自动生成 figure,相当于调用 subplots# title-图像标题 Axis-坐标轴 Axis Label-坐标轴标注 Tick-刻度线 Tick Label-刻度注释# 关系如下# fig---ax#          ---title#          ---data#          ---xaxis#                 ---tick#                         ---tick label#                 ---label#          ---yaxis#                 ---tick#                         ---tick label#                 ---label

# matplotlib.get_config() 获取当前配置# 用户matplotlib配置文件路径path=mplt.get_configdir()print(path)

# 当前matplotlib配置文件路径path2=mplt.matplotlib_fname()print(path2)

# 系统配置文件存放路径path3=os.getcwd()print(path3)

# 读取配置文件内容p=mplt.rcParamsprint(p)

# 中文乱码处理 正常显示中文标签 及正负号plt.rcParams[‘font.sans-serif‘]=[‘Microsoft YaHei‘]plt.rcParams[‘axes.unicode_minus‘]=False

# 全局关闭# plt.rcParams.update({‘axes.formatter.useoffset‘:False})# 画图流程:创建Figure对象->1个或多个Axes或Subplot对象->调用Axies创建各类Artists来画图

# 这里使用的是matplotlib.pyplot 去画图# 图像 指整个窗口内容 子图值图像中的各个图# 图1# 步骤1-创建一个 2*2 的点图像 分辨率为 80

# 参数说明# 图像数量      num=None,  # autoincrement if None, else integer from 1-N# 图像的长和宽  figsize=None,  # defaults to rc figure.figsize# 分辨率       dpi=None,  # defaults to rc figure.dpi# 区域背景色    facecolor=None,  # defaults to rc figure.facecolor# 区域边缘色    edgecolor=None,  # defaults to rc figure.edgecolor# 是否绘制图像边缘 # frameon=True,# FigureClass=Figure,# clear=False,# **kwargs# f,axs=plt.subplots(2,2,figsize=(15,15))fig=plt.figure(20*20,dpi=80)

# 步骤2-设置子图位置 几行几列的网格 第1个参数:1行 第2个参数:1列 第3个参数:图形在网格的位置

# 多个子图组成大图# fig=plt.figure()->plt.subplot()->plot.plot()->plot.show()

# 子图悬浮在大图上# fig=plt.figure()->ax=fig.add_axes(位置列表)或ax=fig.axes()->ax.plot()->plt.show()# fig=plt.figure()->fig.add_subplot()->p=plt.Rectangle()多个->fig.add_subplot().add_patch(p)->fig.canvas.draw()->plot.show()

# plt.subplot(1,1,1)plt.subplot(111)

# 步骤3-设置线图属性-自定义x y轴# 坐标轴对象 axes 可放置在图像的任意位置# 记号位置设置 Tick Locators  记号格式化操作 Tick Formatters

# 方式1 生成数据的方法 定义新刻度的范围和个数x=np.linspace(-np.pi,np.pi,256,endpoint=True)c,s=np.cos(x),np.sin(x)

# 绘制曲线 颜色 线宽 线的风格 大图对应的小图标签# 线的风格 实线 - 破折线 -- 点线 -. 虚线 : 不显示 None ‘‘ ‘ ‘

# 线条标记# 圆圈 o 小菱形 d 菱形 D# 正方形 s 五边形 p 六边形1 h 六边形2 H 八边形 8# 水平线 _ 竖线 | 加号 + 点 . 像素 ,  星号 * x X 无 None ‘‘ ‘ ‘# 1角朝上三角形 ^ 1角朝下三角形 v 1角朝左三角形 < 1角朝右三角形 >

# 线的颜色 红 r 黄 y 白 w 绿 g 蓝 b 青 c 洋红 m 黑 k 支持16进制‘#eeefff‘或3元色组(0.3,0.3,0.3)# 颜色 线宽 线的风格(颜色+线型) 大图对应的小图标签 可用$$包裹,如$sin(x)$plt.plot(x,c,color=‘blue‘,linewidth=2.5,linestyle=‘-‘,label=‘cosine‘)plt.plot(x,s,color=‘red‘,linewidth=2.5,linestyle=‘-‘,label=‘sine‘)

# 属性设置使用set_属性 pyplot.setp()函数 属性获取使用  get_属性 pyplot.getp()

# 方式2# lines,=plt.plot(1,6,‘-‘)# lines.set_antialiased(False)

# 坐标取值范围# plt.axis([xmin,xmax,ymin,ymax])

# 步骤4-1-设置x轴 y轴范围# 获得当前x轴 y轴范围值xmin,xmax=plt.xlim()ymin,ymax=plt.ylim()

# 横轴的上下限plt.xlim(xmin*1.5,xmax*1.5)

# 纵轴的上下限plt.ylim(ymin*1.5,ymax*1.5)

# 步骤4-2-设置刻度 刻度位置 间隔 格式ax=plt.gca()

# 关闭简略的间隔标注ax.get_xaxis().get_major_formatter().set_useOffset(False)

# 设置横轴标记号# py.xticks(np.linspace(-4,4,9,endpoint=True))# py.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi])

# 设置横轴标号标签plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r‘$-\pi$‘,r‘$-\pi/2$‘,r‘$0$‘,r‘$+\pi/2$‘,r‘$+\pi$‘])

# 设置纵轴标记号# plt.yticks(np.linspace(-1,1,5,endpoint=True))# plt.yticks([-1,0,+1])

# 设置纵轴标号标签plt.yticks([-1,0,+1],[r‘$-1$‘,r‘$0$‘,r‘$+1$‘])

# 返回一个fig图像 和 一个 ax的 array列表# fig,ax=plt.subplots(2,2)# ax=plt.gca()

# 步骤4-3-设置主 次刻度 及注释 2.5的倍数 5的倍数 0.5的倍数 1的倍数xmin=MultipleLocator(2.5)xmax=MultipleLocator(5)xformat=FormatStrFormatter(‘%5.1f‘)

ymin=MultipleLocator(0.5)ymax=MultipleLocator(1)yformat=FormatStrFormatter(‘%1.1f‘)

# x轴 主刻度 次刻度ax.xaxis.set_major_locator(xmax)ax.xaxis.set_major_formatter(xformat)ax.xaxis.set_minor_locator(xmin)

# y轴 主刻度 次刻度ax.yaxis.set_major_locator(ymax)ax.yaxis.set_major_formatter(yformat)ax.yaxis.set_minor_locator(ymin)

# 网格刻度类型which major minor both# 绘制哪个网格线xaxis yaxis x y bothax.xaxis.grid(True, which=‘major‘)ax.yaxis.grid(True,which=‘minor‘)

# 步骤5-移动坐标 剩下下面和左边的坐标-看实际需要配置# 设置对应的边框是否显示 及边框颜色 边框位置:left right bottom top noneax.spines[‘right‘].set_color(‘none‘)ax.spines[‘top‘].set_color(‘none‘)

# x轴 设置刻度 top bottom both default none 位置  data axes outwardax.xaxis.set_ticks_position(‘bottom‘)ax.spines[‘bottom‘].set_position((‘data‘,0))

# y轴ax.yaxis.set_ticks_position(‘left‘)ax.spines[‘left‘].set_position((‘data‘,0))

# 图像上的数据显示更清晰for label in ax.get_xticklabels() + ax.get_yticklabels():    label.set_fontsize(16)    label.set_bbox(dict(facecolor=‘white‘, edgecolor=‘None‘, alpha=0.65))

# 步骤6-增加图例plt.legend(loc=‘upper left‘)

# 设置图像外侧与图像间隔距离plt.subplots_adjust(left=0.2, bottom=0.2, right=0.8, top=0.8,hspace=0.2,wspace=0.3)

# 图像标题plt.title(‘图1‘)

# 显示图像plt.show()

原文地址:https://www.cnblogs.com/NiceTime/p/10129128.html

时间: 2024-08-06 11:04:52

python3绘图示例6-2(基于matplotlib,绘图流程介绍及设置等)的相关文章

python3绘图示例2(基于matplotlib:柱状图、分布图、三角图等)

#!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib import pyplot as pltimport numpy as npimport pylab import os,sys,time,math,random # 图1-给已有的图加上刻度file=r'D:\jmeter\jmeter3.2\data\Oracle数据库基础.png'arr=np.array(file.getdata()).reshape(file.size

python3绘图示例4(基于matplotlib:箱线图、散点图等)

#!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib.pyplot import * x=[1,2,3,4]y=[5,4,3,2] # 创建新图标figure() # 对角线图 第1个参数:2行 第2个参数:3列的网格 第3个参数:图形在网格的位置subplot(231)plot(x,y) # 垂直柱状图subplot(232)bar(x,y) # 水平柱状图subplot(233)barh(x,y) # 堆叠柱状图-颜色间隔su

python3绘图示例1(基于matplotlib)

#!/usr/bin/env python# -*- coding:utf-8 -*- import numpy as npimport matplotlib.pyplot as pltimport jsonfrom decimal import Decimal # 保留浮点类型jstring='{"name":"pro","price":12.05}'str=json.loads(jstring,parse_float=Decimal)prin

python3绘图示例6-1(基于matplotlib,绘图流程介绍及设置等)

#!/usr/bin/env python# -*- coding:utf-8 -*- import os import pylab as pyimport numpy as npfrom matplotlib import pyplot as pltimport matplotlib as mplt # matplotlib.get_config() 获取当前配置# 用户matplotlib配置文件路径path=mplt.get_configdir()print(path) # 当前matpl

python3绘图示例3(基于matplotlib:折线图等)

#!/usr/bin/env python# -*- coding:utf-8 -*-from pylab import *from numpy import *import numpy # 数据点图-数据点平滑处理def moveing_average(ineterval,window_size): window=ones(int(window_size))/float(window_size) return convolve(ineterval,window,'same') t=linspa

Python3快速入门(十六)——Matplotlib绘图

Python3快速入门(十六)--Matplotlib绘图 一.Matplotlib简介 1.Matplotlib简介 Matplotlib是 Python 2D-绘图领域使用最广泛的套件,可以简易地将数据图形化,并且提供多样化的输出格式.matplotlib有两个接口,一个是状态机层的接口,通过pyplot模块来进行管理:一个是面向对象的接口,通过pylab模块将所有的功能函数全部导入其单独的命名空间内. 2.Matplotlib安装 使用conda安装如下:conda install mat

理解matplotlib绘图

matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件.它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式. matplotlib使用numpy进行数组运算,并调用一系列其他的Python库来实现硬件交互.matplotlib的核心是一套由对象构成的绘图API. 你需要安装Python, numpy和matplotlib.(可以到python.org下载Python编译器.相关

数据分析06 /matplotlib绘图

目录 数据分析06 /matplotlib绘图 1. 绘制线性图:plt.plot() 2. 绘制柱状图:plt.bar() 3. 绘制直方图:plt.hist() 4. 绘制饼状图:pie() 5. 绘制散点图:scatter() 数据分析06 /matplotlib绘图 1. 绘制线性图:plt.plot() 绘制单条线形图 import matplotlib.pyplot as plt import numpy as np x = [1,2,3,4,5] y = [5,4,3,2,1] p

数据分析07 /matplotlib绘图

目录 数据分析07 /matplotlib绘图 1. 绘制线性图:plt.plot() 2. 绘制柱状图:plt.bar() 3. 绘制直方图:plt.hist() 4. 绘制饼状图:pie() 5. 绘制散点图:scatter() 数据分析07 /matplotlib绘图 1. 绘制线性图:plt.plot() 绘制单条线形图 import matplotlib.pyplot as plt import numpy as np x = [1,2,3,4,5] y = [5,4,3,2,1] p