在开始之前,我要对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)相关推荐

  1. python装饰器使用教学,Python教程|简单上手Python中装饰器的使用

    如何打造极简主义风格网站教程 .极简主义与其他设计风格<极简主义设计之美> 这篇文章的一部分是讲极简主义是如何与其他设计风格很好配合的.可以把极简主义当作一种属性,而它可以添加或结合其他. ...

  2. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  3. python绘制简单直方图-Python数据分析:统计函数绘制简单图形

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于机器学习算法与自然语言处理 ,作者冯夏冲 importmatplo ...

  4. python绘制简单直方图-python plotly绘制直方图实例详解

    python plt怎么绘制直方图 # /usr/bin/python# -*- coding: utf-8 -*-import numpy as npfrom matplotlib import p ...

  5. python画简单图片-Python绘制“高颜值”桑基图

    请看以下图片: 相信许多小伙伴第一眼就会被它美丽的外表所吸引,由此引发一连串的惊叹: "这个图叫什么???" "这个图真好看!!!怎么画啊?" 为了满足大家的好 ...

  6. 用C实现动态绘制“心型线”(心形图形)(数学图形)

    1.程序运行环境(必读) Visual C++ 6.0.Visual Studio 2010 ~ Visual Studio 2022 等支持EasyX图形库的软件均可以使用,实现相应功能. ---- ...

  7. python curses_简单的Python的curses库使用教程

    curses 库 ( ncurses ) 提供了控制字符屏幕的独立于终端的方法.curses 是大多数类似于 UNIX 的系统(包括 Linux)的标准部分,而且它已经移植到 Windows 和其它系 ...

  8. python的简单编程-python入门脚本的简单示例

    编程之家收集整理的这篇文章主要介绍了python入门脚本的简单示例,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. 感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧. ...

  9. python pycurl_简单谈谈Python的pycurl模块_python

    PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...

  10. python画简单花-Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

最新文章

  1. 基于架构的上网行为管理产品界面对比
  2. python初学者教程我要自学网-我要自学网--json 数据解析-python。
  3. newhope代码在vs2019的编译
  4. 01_GIT基础、安装
  5. 2016 年Adobe设计成就奖作品征集
  6. 微信 登录 Scope 参数错误或没有 Scope 权限
  7. matlab linspace
  8. mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
  9. python列表嵌套字典取值_我的 python 学习历程-Day05 字典/字典的嵌套
  10. php 开发一个聊天系统,ajax+php 实现一个简单的在线聊天室功能(附带源码)
  11. 关于protege的dot error的问题
  12. 保存blob为本地文件
  13. vb.ne textbox数字保存excel_Excel 另类保护:锁死页面布局、保存、审阅标签右键等菜单禁编辑...
  14. EXCEL 正态分布概率计算 NORM.S.DIST()和NORM.DIST()函数
  15. 计算机视觉 — Harris角点检测
  16. uni-app注册自动获取短信信息
  17. Excel文件导入导出操作
  18. 关于lvm扩容的方式
  19. libvirt零知识学习6 —— libvirt源码编译安装(4)
  20. 手机app抓包,无视SSLPinning

热门文章

  1. spring配置文件中分别使用多个properties文件
  2. JavaEE Web开发之Servlet篇
  3. HTML5 MediaStream的运用
  4. ArrayList 解释
  5. Microsoft Visual SourceSafe 使用指南
  6. 预编译、作用域链和闭包理解
  7. python函数小练习
  8. Oracle Sql Developer
  9. 你现在的CSS水平处于什么等级?
  10. Cs Tip08: 文件存储