matplotlib画sin(x)和cos(x)/2
import matplotlib.pyplot as mp
1. 基本的绘图
mp.plot(水平坐标, 垂直坐标, linestyle=线型, linewidth=线宽, color=颜色, ...)
2. 设置坐标范围
mp.xlim(水平坐标最小值, 水平坐标最大值)
mp.ylim(垂直坐标最小值, 垂直坐标最大值)
3. 设置坐标刻度
mp.xticks(位置序列[, 标签序列])
mp.yticks(位置序列[, 标签序列])
4. 设置坐标轴
坐标轴名:left/right/bottom/top
ax = mp.gca() # 获取当前坐标轴
ax.spines['坐标轴名'].set_position((坐标系, 坐标值))
ax.spines['坐标轴名'].set_color(颜色)
5 .图例
mp.plot(..., label=图例标签, ...)
mp.legend([loc=位置])
6. 特殊点
mp.scatter(水平坐标数组, 垂直坐标数组, marker=点型, s=大小,color=颜色, edgecolor=边缘色, facecolor=填充色,zorder=图层序号)
7. 备注
mp.annotate(备注文本,xy=目标坐标,xycoords=目标坐标系,xytext=文本坐标,textcoords=文本坐标系,fontsize=字体大小,arrowprops=箭头线属性)

import numpy as np
import matplotlib.pyplot as mp x = np.linspace(-np.pi, np.pi, 1000)
print(x)
cos_y = np.cos(x)/2
sin_y = np.sin(x) xo = np.pi * 3/4
yo_cos = np.cos(xo)/2
yo_sin = np.sin(xo) # 设置图的标题
mp.title("zengsf")
# 设置坐标轴, 边缘空白处一般是最大或最小的百分之十
# mp.xlim(水平坐标最小值, 水平坐标最大值)
mp.xlim(x.min() * 1.1, x.max() * 1.1)
mp.ylim(sin_y.min() * 1.1, sin_y.max() * 1.1)
# 设置坐标刻度
# mp.xticks(位置序列[, 标签序列])
mp.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$0$', r'$\frac{\pi}{2}$', r'$\pi$'])
mp.yticks([-1, -0.5, 0.5, 1]) # 获取当前坐标轴
ax = mp.gca()
ax.spines["left"].set_position(('data', 0))
ax.spines["bottom"].set_position(('data', 0))
ax.spines["top"].set_color("none")
ax.spines["right"].set_color("none") # linestyle:设置线型,linewidth:设置线宽,color:设置线的颜色, label:图例,标签
mp.plot(x, cos_y, linestyle="--", linewidth=1, color="violet", label=r'$y=\frac{1}{2}cos(x)$')
mp.plot(x, sin_y, linestyle="-.", linewidth=3, color="lime", label=r'$y=sin(x)$') # 将两个点连接起来
mp.plot([xo, xo], [yo_cos, yo_sin], linestyle="-", color="red") # mp.scatter(水平坐标, 垂直坐标, marker=点型, s=大小,color=颜色, edgecolor=边缘色, facecolor=填充色,zorder=图层序号)
mp.scatter([xo, xo], [yo_cos, yo_sin], s=60, edgecolors="limegreen", facecolor="white", zorder=7, marker="^") # mp.annotate(备注文本,xy=目标坐标,xycoords=目标坐标系,xytext=文本坐标,textcoords=文本坐标系,fontsize=字体大小,arrowprops=箭头线属性)
mp.annotate(r'$\frac{1}{2}cos(\frac{3\pi}{4})=-\frac{\sqrt{2}}{4}$',
xy=(xo, yo_cos), xycoords="data",
xytext=(-90, -40), textcoords="offset points",
fontsize=14, arrowprops=dict(arrowstyle="->", connectionstyle="arc3, rad=.2"),
) mp.annotate(r'$\frac{1}{2}cos(\frac{3\pi}{4})=\frac{\sqrt{2}}{2}$',
xy=(xo, yo_sin), xycoords="data",
xytext=(-10, 40), textcoords="offset points",
fontsize=14, arrowprops=dict(arrowstyle="->", connectionstyle="arc3, rad=.2"),
) # legend主要是控制图例的位置
mp.legend(loc="upper left")
mp.show()
matplotlib画sin(x)和cos(x)/2的更多相关文章
- 用matplotlib画线
1:matplotlib基础 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形[1] . 通过 Matplotlib,开发者可以 ...
- matplotlib画线(2)
这篇随笔是matplotlib画线的补充>>> #nocl参数控制图例中有几列,>>> import numpy as np>>> import ...
- 利用pyplot绘制sin(x)和cos(x)的组合图像
一.实验目标 (1) 掌握numpy库的使用 (2) 掌握matplotlib库的使用 (3) 掌握pyplot的基本函数和方法 二.实验内容 import matplotlib.pyla ...
- python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)
最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...
- Matplotlib学习---用matplotlib画箱线图(boxplot)
箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...
- Matplotlib学习---用matplotlib画雷达图(radar chart)
雷达图常用于对多项指标的全面分析.例如:HR想要比较两个应聘者的综合素质,用雷达图分别画出来,就可以进行直观的比较. 用Matplotlib画雷达图需要使用极坐标体系,可点击此链接,查看对极坐标体系的 ...
- Matplotlib画正弦余弦曲线
参考1:http://www.labri.fr/perso/nrougier/teaching/matplotlib/ 参考2:https://matplotlib.org/api/artist_ap ...
- Python 的 Matplotlib 画图库
Matplotlib安装 NumPy库方便数值运算,但枯燥的数据并不利于人们的直观理解. 数据需要可视化. Matplotlib:一个数据可视化函数库 使用前需要安装 利用Python自带 ...
- Python学习-使用matplotlib画动态多图
最近常常使用matplotlib进行数学函数图的绘制,可是怎样使用matplotlib绘制动态图,以及绘制动态多图.直到今天才学会. 1.參考文字 首先感谢几篇文字的作者.帮我学会了怎样绘制.大家也能 ...
随机推荐
- 剑指offer(46)孩子们的游戏
题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...
- Windows Update Medic Service 拒绝访问
修改注册表:HEKY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc 中Start的值改为4.
- Docker for windows10 配置阿里云镜像
到官网下载 并且 安装 Docker for windows (注意 官方要求 windows10 是企业版才行 天朝你懂的 ) 关于 Docker for windows 要求有 带有 hy ...
- Centos-6.5搭建oracle11g RAC集群
一.基本概念 RAC( Real Application Clusters-----真正的应用集群) RAC数据库是Oracle公司数据库的集群解决方案.高可用性解决方案.两个或多个服务器之间通过一个 ...
- Centos 中 service iptables stop 失败
Centos7中的防火墙调整为firewalld,试一下systemctl stop firewalld关闭防火墙.
- JavaScript中数组和对象的使用例程
JavaScript数组 下面的代码创建名为 cars 的数组: //方式一: var cars = new Array(); cars[0] = "Volvo"; cars[1] ...
- windows服务项目的 安装 卸载 查看
安装服务:installutil.exe C:\a.exe卸载服务Installutil.exe /u C:\a.exe 查看服务状态 services.msc
- String 的方法总结
1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) var str = "ABC"; ...
- linux 安装配置zookeeper
1.什么是zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...
- tensorboard中show不出来数据
tensorboard中show不出来数据,可通过在命令中加入training解决,如下: tensorboard --logdir==training:model_dir