python matplotlib绘图

Posted 棍子哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python matplotlib绘图相关的知识,希望对你有一定的参考价值。

import numpy as np
import matplotlib.pyplot as plt
from scipy.constants.constants import alpha
from matplotlib.patches import ArrowStyle
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
#np.linspace定义横轴,在-pi到pi之间共256个点,endpoint=True表示包括最后一个点
c,s=np.sin(x),np.cos(x)
plt.figure(1)#生成一幅图
plt.plot(x,c,color="blue",linewidth=1.0,linestyle="-",label="COS",alpha=0.5)#alpha=0.5透明度
plt.plot(x,s,"r*",label="sin")
plt.title("sin")#添加标题
ax=plt.gca()#轴编辑器
#spines指的是图形中的上下左右四条刻度线
ax.spines["right"].set_color("none")#将右边刻度线 隐藏set_color为None
ax.spines["top"].set_color("none")#将上边刻度线 隐藏
ax.spines["left"].set_position(("data",0))#将左边刻度线 放到 数据域的 刻度0处 显示y轴
ax.spines["bottom"].set_position(("data",0))#将左边刻度线 放到 数据域的 刻度0处 显示x轴
ax.xaxis.set_ticks_position("bottom")#横坐标的刻度值 放在横轴的下面
ax.yaxis.set_ticks_position("left")#纵坐标的刻度值 放在纵轴的左面
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],["1","2","3","4","5",])#将原来刻度值变为[1,2,3,4,5]的显示形式
plt.yticks(np.linspace(-1, 1, 5, endpoint=True))#从-1到1,标记5个点,endpoint=True最后一个点显示
for label in ax.get_xticklabels()+ax.get_yticklabels():
    #ax.get_xticklabels()获取横轴标签 ax.get_yticklabels()获取纵轴标签
    label.set_fontsize(16)#设置标签的字体大小
    label.set_bbox(dict(facecolor="red",edgecolor="None",alpha=0.2))
    #设置标签的方框 facecolor为方框填充颜色  edgecolor为边框颜色  alpha为透明度
    label.set_rotation(90)#标签旋转90度
plt.legend()#展示plt.plot中label 显示图例
plt.legend(loc="upper left")#展示plt.plot中label 显示图例 偏上偏左
plt.grid()#展示网格线
plt.axis([-1,1,-0.5,1])#展示图形的显示范围
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="green",alpha=0.25)
#fill_between填充颜色   给出图形中填充的范围
t=1#在t=1的地方添加注释
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")#"y"为黄色
#
plt.annotate("cos(1)",xy=(t,np.cos(t)),xycoords="data",xytext=(+10,+30),
             textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))
#cos(1)注释显示  xy注释的位置 xycoords定义为data域  xytext增加的偏移量
#textcoords指定注释为相对位置 相对偏移 arrowstyle箭头的样子 connectionstyle箭头的弧度值
plt.show()#显示图

 

以上是关于python matplotlib绘图的主要内容,如果未能解决你的问题,请参考以下文章

python matplotlib 绘图 和 dpi对应关系

Python3绘图之Matplotlib(03)

通过鼠标单击获取 matplotlib 绘图图 python 的坐标

Matplotlib“实时”在python中绘图

Matplotlib常用绘图示例入门

Python 中,matplotlib绘图无法显示中文的问题