『科学计算』科学绘图库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,在下图中亦即对于每个 ...
随机推荐
- IP分片丢失重传
尽管IP分片看起来是是透明的,但有一点让人不想使用它:即使只丢失一片数据也要重传整个数据报.为什么会发生这种情况呢? 因为IP层本身没有超时重传的机制——由更高层来负责超时和重传(TCP有超时 ...
- oracle中如何判断blob类型字段是否为空
eg.假如有表T_GA_GRJBXX ,字段zp是blob类型 查询blob非空的记录 SELECT * FROM u_rs_sjgx.T_GA_GRJBXX TB WHERE TB.zp IS n ...
- 修改Nginx配置文件来隐藏index.php
找到你要修改的域名对应nginx配置文件(vhost下),添加如下代码 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index. ...
- P1283 平板涂色
P1283 平板涂色 dfs 记忆化搜索 将矩阵转化为图求解,然后我们发现这是个DAG,于是就可以愉快地跑搜索了. 进行dfs时,我们可以用类似拓扑排序的方法.每次将上面所有矩形都被刷过(入度in[ ...
- Confluence5.8更改数据库配置
Confluence5.8更改数据库配置 第一步:是找到confluence的安装目录,我的安装目录在 /opt/atlassian/: 第二步:由于confluence把tomcat给改造了,所以c ...
- 20145127《java程序设计》第三周学习总结
教材学习内容总结 第四章 认识对象 4.1 类与对象 0.Java中有基本类型和类类型两个类型系统.本章主要讲的是类类型.java编写几乎都要使用对象,要产生对象必须先定义类.类是对象的设计图,对象是 ...
- 逆向与BOF基础——注入shellcode并执行&Return-to-libc
逆向与BOF基础--注入shellcode并执行 准备阶段 下载安装execstack. 本次实验实验的shellcode是心远的文章中生成的代码,即\x31\xc0\x50\x68\x2f\x2f\ ...
- 20145331魏澍琛《网络对抗》Exp5 MSF基础应用
20145331魏澍琛<网络对抗>Exp5 MSF基础应用 基础问题回答 1.用自己的话解释什么是exploit,payload,encode? exploit:渗透攻击的模块合集,将真正 ...
- js实现ajax请求
练下手,好久没写ajax var xmlhttp=null;//创建XMLHttprequest function createXMLHttpRequest(){ if(window.ActiveXO ...
- noip2015 day1
不解释,很简单,直接按照题目的方法构造就行了 Code #include<iostream> #include<cstdio> #include<cctype> # ...