『科学计算』科学绘图库matplotlib练习
思想:万物皆对象
作业
第一题:
import numpy as np
import matplotlib.pyplot as plt x = [1, 2, 3, 1]
y = [1, 3, 0, 1] def plot_picture(x, y):
plt.plot(x, y, color='r', linewidth='2', linestyle='--', marker='D', label='one')
plt.xticks(list(range(-5,5,1)))
plt.yticks(list(range(-5,5,1)))
plt.grid(True) def rotate(x0, y0, point=[0, 0], angle=np.pi/2):
rx = []
ry = []
for i, pos in enumerate(zip(x0,y0)):
rx.append((x0[i]-point[0])*np.cos(angle) - (y0[i]-point[1])*np.sin(angle) + point[0])
ry.append((y0[i]-point[1])*np.cos(angle) + (x0[i]-point[0])*np.sin(angle) + point[1])
return rx, ry
print(rotate([3,1],[0,1],angle=-np.pi/2)) plot_picture(x, y)
plot_picture(rotate(x, y, angle=-np.pi / 2)[0], rotate(x, y, angle=-np.pi / 2)[1])
第二题:
% matplotlib inline
import numpy as np
import matplotlib.pyplot as plt fig = plt.figure()
fig.add_subplot(321)
fig.add_subplot(322)
fig.add_subplot(312)
fig.add_subplot(325)
fig.add_subplot(326)
fig.subplots_adjust(hspace=0.3)
第三题:
def rotate(x0, y0, point=[0, 0], angle=np.pi/2):
rx = []
ry = []
for i, pos in enumerate(zip(x0,y0)):
rx.append((x0[i]-point[0])*np.cos(angle) - (y0[i]-point[1])*np.sin(angle) + point[0])
ry.append((y0[i]-point[1])*np.cos(angle) + (x0[i]-point[0])*np.sin(angle) + point[1])
return rx, ry def draw_flower(step=4, start_point=[2,0]):
step = 2**step
start_x = [start_point[0]]
start_y = [start_point[1]]
x = []
y = []
b_x = []
b_y = []
for i in range(step):
angle = (step/4)*2*np.pi/(step-1)
start_x, start_y = rotate(start_x, start_y, angle=angle)
x += start_x
y += start_y
if i != 0:
b_x.append((x[-2]+start_x)/2)
b_y.append((y[-2]+start_y)/2)
plt.plot(x, y, 'r')
plt.plot(b_x, b_y, 'b.')
plt.axis('equal')
plt.grid(True) draw_flower(6)
要求的菊花图,洞有点大,调整angle可以调整大小,
第三题需要一点解析几何计算,难度不大,主要是回忆几何知识比较痛苦,明明刚刚考过试的,哎。
『科学计算』科学绘图库matplotlib练习的更多相关文章
- 推荐:python科学计算pandas/python画图库matplotlib【转】
机器学习基础3--python科学计算pandas(上) 地址:https://wangyeming.github.io/2018/09/04/marchine-learning-base-panda ...
- 『科学计算』科学绘图库matplotlib学习之绘制动画
基础 1.matplotlib绘图函数接收两个等长list,第一个作为集合x坐标,第二个作为集合y坐标 2.基本函数: animation.FuncAnimation(fig, update_poin ...
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- Python 绘图库Matplotlib入门教程
0 简单介绍 Matplotlib是一个Python语言的2D绘图库,它支持各种平台,并且功能强大,能够轻易绘制出各种专业的图像. 1 安装 pip install matplotlib 2 入门代码 ...
- 『科学计算』可视化二元正态分布&3D科学可视化实战
二元正态分布可视化本体 由于近来一直再看kaggle的入门书(sklearn入门手册的感觉233),感觉对机器学习的理解加深了不少(实际上就只是调包能力加强了),联想到假期在python科学计算上也算 ...
- python 绘图库 Matplotlib
matplotlib官方文档 使用Matplotlib,能够轻易生成各种图像,例如:直方图.波谱图.条形图.散点图等. 入门代码实例 import matplotlib.pyplot as plt i ...
- 数据可视化:绘图库-Matplotlib
为什么要绘图? 一个图表数据的直观分析,下面先看一组北京和上海上午十一点到十二点的气温变化数据: 数据: 这里我用一段代码生成北京和上海的一个小时内每分钟的温度如下: import random co ...
- 『科学计算』L0、L1与L2范数_理解
『教程』L0.L1与L2范数 一.L0范数.L1范数.参数稀疏 L0范数是指向量中非0的元素的个数.如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0,换句话说,让参数W是稀 ...
- 『科学计算』通过代码理解SoftMax多分类
SoftMax实际上是Logistic的推广,当分类数为2的时候会退化为Logistic分类 其计算公式和损失函数如下, 梯度如下, 1{条件} 表示True为1,False为0,在下图中亦即对于每个 ...
随机推荐
- python 运行脚本报错 from keyword import iskeyword as _iskeyword ImportError: cannot import name iskeyword,说明python环境坏了,得重装,尚不知具体原因,
C:\Python27\Scripts>python task_test.pyTraceback (most recent call last): File "task_test.p ...
- SQL学习之SqlMap SQL注入
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了. 今天把我一 ...
- P2414 [NOI2011]阿狸的打字机
P2414 [NOI2011]阿狸的打字机 AC自动机+树状数组 优质题解 <------题目分析 先AC自动机搞出Trie图 然后根据fail指针建一只新树 把树映射(拍扁)到一个序列上,用树 ...
- RSA加解密用途简介及java示例
在公司当前版本的中间件通信框架中,为了防止非授权第三方和到期客户端的连接,我们通过AES和RSA两种方式的加解密策略进行认证.对于非对称RSA加解密,因为其性能耗费较大,一般仅用于认证连接,不会用于每 ...
- STL与泛型编程(第一周)
part 1 C++模版简介 一,模版概观 1.模板 (Templates)是C++的一种特性,允许函数或类(对象)通过泛型(generic types)的形式表现或运行. 模板可以使得函数或类在对应 ...
- 20145302张薇 《网络对抗》MSF应用基础
20145302张薇 <网络对抗>MSF应用基础 实验内容 掌握metasploit的基本应用方式 1.主动攻击--ms08_067 2.针对浏览器的攻击--ms11_050 3.针对客户 ...
- 面向对象初调用:foolish 电梯
本周我们完成的任务是傻瓜电梯的调度,对于那十分十分详细的指导书,我感觉想要说明白题目要求,是做不到的,所以就把指导书贴出来给大家看了,,由于在下还不会网页制作,只能通过百度网盘了,https://pa ...
- Python3基础 函数 递归 阶乘与斐波那契数列
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 简谈高通Trustzone的实现【转】
本文转载自:https://blog.csdn.net/hovan/article/details/42520879 从trust zone之我见知道,支持trustzone的芯片会跑在两个世界. 普 ...
- ReadResolve方法与序列化
使用枚举实现的单例模式,不但可以防止利用反射强行构建单例对象,而且可以在枚举类对象被反序列化的时候,保证反序列的返回结果是同一对象. 对于其他方式实现的单例模式,如果既想要做到可序列化,又想要反序列化 ...