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.參考文字 首先感谢几篇文字的作者.帮我学会了怎样绘制.大家也能 ...
随机推荐
- Dijkstra双栈算术表达式求值
在看algs4的时候偶然发现了这个算法,又回顾了一遍当时数据结构课程里讲过的知识,当时很不在意.迟早是要还的,哎 用python实现了,比较麻烦的是我现在没有解决bash传参的问题,''(" ...
- 2. Dubbo原理解析-Dubbo内核实现之基于SPI思想Dubbo内核实现(转)
转载自 斩秋的专栏 http://blog.csdn.net/quhongwei_zhanqiu/article/details/41577159 SPI接口定义 定义了@SPI注解 public ...
- echarts2.0tooltip边框限制导致tooltip显示不全解决办法
1.显示常数位置x和y; 2.根据鼠标移动显示:tooltip : { trigger: 'axis', position:function(p){ //其中p为当前鼠标的位置 return [p[0 ...
- arXiv 提交 pre-print 文章的相关注意事项
arXiv 提交 pre-print 文章的相关注意事项 2018-11-25 22:38:28 1. 有一个可以正常上传 paper 的 arXiv 账号:https://arxiv.org/ 这 ...
- (转载)【UGUI】侧面滑出的菜单栏,宽度自适应
首先看下项目效果 实现效果 发现实现效果并不难,利用动画(iTween)+UGUI 有一个长按的判断处理即可 附上项目和代码 using System.Collections; using Syste ...
- Jade入门学习笔记
jade是超高性能的node JavaScript模板引擎,有着非常强大的API和大量杰出的特性.它主要针对node的服务端.由于商标的原因,改为Pug,哈巴狗.Pug有它本身的缺点--可移植性差,调 ...
- Index.get_indexer 方法的含义
表示,to_match 中的字符,在 unoque_vals 中的位置索引
- linux存储管理之磁盘配额
磁盘配额 1 相关命令:quota.quotacheck.edquota.quotaon.quotaoffquota要使用的命令有两种:一种用于查询功能,包括quota.quotacheck.quo ...
- SQL查询日期格式化
MARK一下 方便以后自己查阅 举例如下: getdate() 可以替换成日期类型字段 select Convert(varchar(10),getdate(),120) 2006-05-12sele ...
- mybatis的jdbcType和javaType、oracle,MySQL的对应类型
JdbcType介绍 数据库列字段都是有类型的,不同的数据库有不同的类型.为了表示这些数据类型,Java源码是采用枚举来定义的: public enum JDBCType implements SQL ...