python画图指定起点_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
# _config() 获取当前配置
# ⽤户matplotlib配置⽂件路径
_configdir()
print(path)
# 当前matplotlib配置⽂件路径
path2=mplt.matplotlib_fname()
print(path2)
# 系统配置⽂件存放路径
wd()
print(path3)
# 读取配置⽂件内容
Params
print(p)
# 中⽂乱码处理 正常显⽰中⽂标签 及正负号
# 画图流程:创建Figure对象->1个或多个Axes或Subplot对象->调⽤Axies创建各类Artists来画图
# # 图1-正弦图 余弦图
# x=np.linspace(-np.pi,np.pi,256,endpoint=True)
# c,s(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(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],[s(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=(s(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_属性 p()
# 步骤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.ylim(-1.0,1.0)
# 步骤5-5-设置纵轴标记号
# py.yticks(np.linspace(-1,1,5,endpoint=True))
# py.yticks([-1,0,+1])
# 步骤5-6-设置纵轴标号标签
matplotlib中subplot# 步骤6-1设置图上⽂字浮在最上层,⽅便查看
# 获取坐标轴对象
a()
for label _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)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论