python3绘图示例6-1(基于matplotlib,绘图流程介绍及设置等)
#!/usr/bin/env python
# -*- coding:utf-8 -*- import os import pylab as py
import numpy as np
from matplotlib import pyplot as plt
import matplotlib as mplt # matplotlib.get_config() 获取当前配置
# 用户matplotlib配置文件路径
path=mplt.get_configdir()
print(path) # 当前matplotlib配置文件路径
path2=mplt.matplotlib_fname()
print(path2) # 系统配置文件存放路径
path3=os.getcwd()
print(path3) # 读取配置文件内容
p=mplt.rcParams
print(p) # 中文乱码处理 正常显示中文标签 及正负号
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
plt.rcParams['axes.unicode_minus']=False # 画图流程:创建Figure对象->1个或多个Axes或Subplot对象->调用Axies创建各类Artists来画图 # # 图1-正弦图 余弦图
# x=np.linspace(-np.pi,np.pi,256,endpoint=True)
# c,s=np.cos(x),np.sin(x)
#
#
# # matplotlib中可 设置图片的大小 分辨率 线宽 颜色 风格 坐标轴 网格属性 文字属性 字体属性等
#
# py.plot(x,c)
# py.plot(x,s)
#
# py.show() # 这里使用的是matplotlib.pylab 去画图
# 图像 指整个窗口内容 子图值图像中的各个图
# 图2
# 步骤1-创建一个 8*6 的点图像 分辨率为 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
py.figure(8*6,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() # py.subplot(1,1,1)
py.subplot(111) # 步骤3-自定义x y轴
# 坐标轴对象 axes 可放置在图像的任意位置
# 记号位置设置 Tick Locators 记号格式化操作 Tick Formatters
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
c,s=np.cos(x),np.sin(x) # 步骤4-1-绘制曲线 颜色 线宽 线的风格(颜色+线型) 大图对应的小图标签 可用$$包裹,如$sin(x)$
py.plot(x,c,color='blue',linewidth=2.5,linestyle='-',label='cosine')
py.plot(x,s,color='red',linewidth=2.5,linestyle='-',label='sine') # 步骤4-1-给曲线图上的对应数据点加注释
# t=2*np.pi/3
# py.plot([t,t],[0,np.cos(t)],color='blue',linewidth=2.5,linestyle='--')
# py.scatter([t,],[np.cos(t),],50,color='blue')
# py.annotate(r'$sin(frac{2\pi}{3}=frac{sqrt{3}{2}$',
# xy=(t,np.sin(t)),xycoords='data',
# xytext=(+10,+30),textcoords='offset points',fontsize=16,
# arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
#
#
# py.plot([t,t],[0,np.sin(t)],color='red',linewidth=2.5,linestyle='--')
# py.scatter([t,],[np.sin(t),],50,color='red')
# py.annotate(r'$sin(frac{2\pi}{3}=frac{sqrt{1}{2}$',
# xy=(t,np.cos(t)),xycoords='data',
# xytext=(-90,-50),textcoords='offset points',fontsize=16,
# arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')) # 注解设置-注解和数据使用相同坐标 被注解数据的位置 终点坐标 xycoords='data' 注解文字位置,起点坐标 xytext=(5,38) 箭头属性和风格
# py.annotate('import value',(55,22),xycoords='data',xytext=(5,38),arrowprops=dict(arrowstyle='->'))
# 线的风格 实线 - 破折线 -- 点线 -. 虚线 : 不显示 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)$
# py.plot(x,c,color='blue',linewidth=2.5,linestyle='-',label='cosine')
# py.plot(x,s,color='red',linewidth=2.5,linestyle='-',label='sine') # 属性设置使用set_属性 pyplot.setp()函数 属性获取使用 get_属性 pyplot.getp() # 步骤4-2-设置显示大图对应的小图标签位置
# 小图标签设置-起始位置 宽度 高度 图例位置(左:3-6-2,中:8-10-9,右:4-7-1) 列数 图例扩展至整个坐标轴 坐标轴和图例距离
# py.legend(bbox_to_anchor=(0.,1.02,1.,.102),loc=3,ncol=3,mode='expand',borderaxespad=0.)
# py.legend(loc=3)
py.legend(loc='upper left') # 坐标取值范围
# plt.axis([xmin,xmax,ymin,ymax]) # 步骤5-1-设置横轴的上下限
py.xlim(-4.0,4.0) # 步骤5-2-横轴标记号
# py.xticks(np.linspace(-4,4,9,endpoint=True))
# py.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi]) # 步骤5-3-设置横轴标号标签
py.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$']) # 步骤5-4-设置纵轴的上下限
py.ylim(-1.0,1.0) # 步骤5-5-设置纵轴标记号
# py.yticks(np.linspace(-1,1,5,endpoint=True))
# py.yticks([-1,0,+1]) # 步骤5-6-设置纵轴标号标签
py.yticks([-1,0,+1],[r'$-1$',r'$0$',r'$+1$']) # 步骤6-1设置图上文字浮在最上层,方便查看
# 获取坐标轴对象
ax=py.gca()
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(16)
label.set_bbox(dict(facecolor='white',edgecolor='None',alpha=0.65,zorder=2)) # 步骤6-2移动脊柱(可省略-移动x y轴 这个看需求,默认的话为常见的x轴和y轴图)
# 设置对应的边框是否显示 及边框颜色 边框位置:left right bottom top none
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none') # x轴 设置刻度 top bottom both default none 位置 data axes outward
ax.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)) # 图像标题
py.title('双弦图') # 步骤7-设置在屏幕上显示图像
py.show() # 关闭窗口用 默认无参-关闭当前窗口 all-关闭所有窗口 窗口编号或实例-则关闭指定窗口
# py.close(1)
python3绘图示例6-1(基于matplotlib,绘图流程介绍及设置等)的更多相关文章
- python3绘图示例6-2(基于matplotlib,绘图流程介绍及设置等)
#!/usr/bin/env python# -*- coding:utf-8 -*- import os import numpy as npimport matplotlib as mpltfro ...
- python3绘图示例5(基于matplotlib:正弦图等)
#!/usr/bin/env python# -*- coding:utf-8 -*- import numpy as npimport pylab as pyimport matplotlib as ...
- python3绘图示例4(基于matplotlib:箱线图、散点图等)
#!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib.pyplot import * x=[1,2,3,4]y=[5,4,3,2] # ...
- python3绘图示例2(基于matplotlib:柱状图、分布图、三角图等)
#!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib import pyplot as pltimport numpy as npim ...
- python3绘图示例1(基于matplotlib)
#!/usr/bin/env python# -*- coding:utf-8 -*- import numpy as npimport matplotlib.pyplot as pltimport ...
- python3绘图示例3(基于matplotlib:折线图等)
#!/usr/bin/env python# -*- coding:utf-8 -*-from pylab import *from numpy import *import numpy # 数据点图 ...
- python基于matplotlib绘图
import math import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import F ...
- Matplotlib常用绘图示例
一.Matplotlib介绍 Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过Matplotlib,开发者可以仅需要几行代码,便可 ...
- 理解matplotlib绘图
matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件.它能让使用者很轻松地将数据图形化 ...
随机推荐
- 【记录一下】从0到1 我的python开发之路
请设计实现一个商城系统,商城主要提供两个功能:商品管理.会员管理. 商品管理: - 查看商品列表 - 根据关键字搜索指定商品 - 录入商品 会员管理:[无需开发,如选择则提示此功能不可用,正在开发中, ...
- 商品录入功能v1.0【持续优化中...】
# 录入商品 def goods_record(): print("欢迎使用铜锣辉的购物商城[商品管理][录入商品]".center(30, "*")) whi ...
- django 异常问题总结
1.问题1 在继承的类中: 403错误: views 添加:from django.core.context_processors import csrf def TestUEditor(reques ...
- windows_study_3
描述:如何解决hyper-v全屏不能自适应屏幕大小? 解决:调节虚拟机的分辨率.
- 毕业设计 python opencv实现车牌识别 颜色判断
主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https://github.com/yinghualuow ...
- Go语言基础之10--面向对象编程2之方法
一.方法的定义 之前我们学习了结构体(struct),其仅仅是对数据的封装,并没有行为方法,还不是一个完全的面向对象的思路,所以现在我们来学习在结构体的基础上如何去定义一个方法.结构体(类)+方法=完 ...
- SQL Server 清理日志
USE[master] GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 要清理的数据库名称 ...
- spring mvc 自定义handler不拦截静态资源
处理静态资源的handler和处理Controller请求中的handler不同,对应的Interceptor也不同 查找对应handler是在DispatcherServlet中 因此一些自定义的I ...
- WIN10安装SW2012完整破解文件和问题解决Crack
Win10在安装solidword后,激活时有可能报错,本文介绍怎么解决问题 安装后激活报错信息: 一.按下面步骤进行安装 1.相关序列号,记住要断网进行安装 Install SolidWorks 2 ...
- nginx 资源重定向
背景:有时候我一些资源(.js .css etc.)等不想访问我本地的,我想重定向到其他 URL 解决:直接修改 nginx 的配置文件 conf,添加下面的代码 #avoid processing ...