python绘制简单图形-python绘制数学图形(堪比matlab)
在开始之前,我要对latex做一点补充。
上一篇文章中提到了latex绘制流程图,文中给出了一个实例,在具体的应用上也很简单。下面两个网页可能会比较有用,特别是在流程图的绘制上(各类shapes汇总):
流程图判断——菱形,其变扁的方法:
下面开始今天要说到的主题。matlab固然很牛叉,但是在理解和实现上还是相对复杂的,python利用现有的库,基本可以实现matlab所有的功能,甚至超越之。与前面的文章相对应,python绘图应该主要着眼的是一些比较严谨的数学公式的绘制问题,相对于latex,其图形更加有数学之美。
今天晚上,我又整了一下python的绘图,感觉还是比较方便的,50行不到的代码即可实现比较完美的图形,特别推荐。下面对应的依次是图形和代码:
对应的代码很简单:
#!/usr/bin/python
#coding = utf8
import sys
import string
import numpy as np
import matplotlib.pyplot as plt
def f_fun(d, k, i):
a = (2.0*d)/((2.0*k-i-1.0)*i+2.0*k*(d-k+1.0))
return a
def g_fun(d, k, i):
a = (2.0*d-2.0*k+i+1.0)*i*1.0/(2.0*d)
return a
def main():
form = ['ro-', 'b--<', 'g-*', 'y--s', 'c->']
k = 5
d = [9, 8, 7, 6, 5]
x = y = [1.0/k]
for t in range(5):
r = [f_fun(d[t], k, i) for i in range(k-1, -1, -1)]
a = [((1.0-g_fun(d[t], k, i)*r[k-i-1])*1.0/(k-i)) for i in range(k-1, 0, -1)]
a.append(1.0/k)
x.append(r[0])
y.append(a[0])
plt.plot(r, a, form[t], linewidth = 2.0, label = "$d="+str(d[t])+",n=10,k=5$")
plt.plot(x, y, linewidth = 1.2, color = 'black')
plt.plot([1.0], [1.0/k], 'rs')
plt.annotate("MDS point", xy=(1.0, 1.0/k), xycoords = 'data', xytext=(0.8, 0.25), arrowprops=dict(arrowstyle="->", linewidth = 1.2))
#plt.plot([1.0], [1.0/k], 'rs')
plt.legend(loc='upper right')
plt.title("Storage-Communication tradeoff n=10,k=5,d=5~9,B=1MB")
plt.ylabel("Storage per node $\alpha$")
plt.xlabel("Bandwidth to repair one node $\gamma$")
plt.grid(True)
plt.show()
if __name__ == '__main__':
main()
python绘制简单图形-python绘制数学图形(堪比matlab)相关推荐
- python装饰器使用教学,Python教程|简单上手Python中装饰器的使用
如何打造极简主义风格网站教程 .极简主义与其他设计风格<极简主义设计之美> 这篇文章的一部分是讲极简主义是如何与其他设计风格很好配合的.可以把极简主义当作一种属性,而它可以添加或结合其他. ...
- python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...
- python绘制简单直方图-Python数据分析:统计函数绘制简单图形
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于机器学习算法与自然语言处理 ,作者冯夏冲 importmatplo ...
- python绘制简单直方图-python plotly绘制直方图实例详解
python plt怎么绘制直方图 # /usr/bin/python# -*- coding: utf-8 -*-import numpy as npfrom matplotlib import p ...
- python画简单图片-Python绘制“高颜值”桑基图
请看以下图片: 相信许多小伙伴第一眼就会被它美丽的外表所吸引,由此引发一连串的惊叹: "这个图叫什么???" "这个图真好看!!!怎么画啊?" 为了满足大家的好 ...
- 用C实现动态绘制“心型线”(心形图形)(数学图形)
1.程序运行环境(必读) Visual C++ 6.0.Visual Studio 2010 ~ Visual Studio 2022 等支持EasyX图形库的软件均可以使用,实现相应功能. ---- ...
- python curses_简单的Python的curses库使用教程
curses 库 ( ncurses ) 提供了控制字符屏幕的独立于终端的方法.curses 是大多数类似于 UNIX 的系统(包括 Linux)的标准部分,而且它已经移植到 Windows 和其它系 ...
- python的简单编程-python入门脚本的简单示例
编程之家收集整理的这篇文章主要介绍了python入门脚本的简单示例,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. 感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧. ...
- python pycurl_简单谈谈Python的pycurl模块_python
PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...
- python画简单花-Python竟能画这么漂亮的花,帅呆了(代码分享)
阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...
最新文章
- 基于架构的上网行为管理产品界面对比
- python初学者教程我要自学网-我要自学网--json 数据解析-python。
- newhope代码在vs2019的编译
- 01_GIT基础、安装
- 2016 年Adobe设计成就奖作品征集
- 微信 登录 Scope 参数错误或没有 Scope 权限
- matlab linspace
- mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
- python列表嵌套字典取值_我的 python 学习历程-Day05 字典/字典的嵌套
- php 开发一个聊天系统,ajax+php 实现一个简单的在线聊天室功能(附带源码)
- 关于protege的dot error的问题
- 保存blob为本地文件
- vb.ne textbox数字保存excel_Excel 另类保护:锁死页面布局、保存、审阅标签右键等菜单禁编辑...
- EXCEL 正态分布概率计算 NORM.S.DIST()和NORM.DIST()函数
- 计算机视觉 — Harris角点检测
- uni-app注册自动获取短信信息
- Excel文件导入导出操作
- 关于lvm扩容的方式
- libvirt零知识学习6 —— libvirt源码编译安装(4)
- 手机app抓包,无视SSLPinning