Python使用matplotlib绘制正弦和余弦曲线的方法示例

yipeiwu_com5年前Python基础

本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法。分享给大家供大家参考,具体如下:

一 介绍

关键词:绘图库

官网:http://matplotlib.org/

二 代码

import numpy as np
import matplotlib.pyplot as plt
#line
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
#定义余弦函数正弦函数
c,s=np.cos(x),np.sin(x)
plt.figure(1)
#画图,以x为横坐标,以c为纵坐标
plt.plot(x,c,color="blue",linestyle="-",label="COS",alpha=0.5)
plt.plot(x,s,"r*",label="SIN")
#增加标题
plt.title("COS & SIN")
ax=plt.gca()
ax.spines["right"].set_color("none")
ax.spines["top"].set_color("none")
ax.spines["left"].set_position(("data",0))
ax.spines["bottom"].set_position(("data",0))
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],
[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])
plt.yticks(np.linspace(-1,1,5,endpoint=True))
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(16)
label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))
#图例显示
plt.legend(loc="upper left")
#显示网格
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)
t=1
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))
#显示图形
plt.show()

三 运行结果

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

使用Python发送邮件附件以定时备份MySQL的教程

最近迁移了wordpress,系统升级为CentOS 6,很奇怪的一个问题,在原来CentOS 5.8下用的很正常的定时备份数据库并通过邮件发送的脚本不能发送附件,其他都正常,邮件内容也...

python学习之编写查询ip程序

python学习之编写查询ip程序

公司服务器上的ip最少的也有100多个,有时候查到一个站的Ip, 不想通过OA去查,自己就用自己最近学的python知识,结合数据库,编写了一python小程序。实现只要输入主ip就能查...

Win7下搭建python开发环境图文教程(安装Python、pip、解释器)

Win7下搭建python开发环境图文教程(安装Python、pip、解释器)

安装Python 1.下载适合系统版本的Python 先到网址(http://www.python.org/getit/)下载适合自己windows的python版本,32位win7下载...

利用Python如何批量修改数据库执行Sql文件

前言 由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低...

详解python中*号的用法

1、表示乘号 2、表示倍数,例如: def T(msg,time=1): print((msg+' ')*time) T('hi',3) 打印结果(打印3次): hi hi...