折线图

下面是绘制折线图,设置图片的横轴纵轴标签,图片标题的API的用法。

import matplotlib.pyplot as pyplot

# init
pyplot.figure() # arguments
x_label = 'X-label'
y_label = 'Y-label'
title = 'Demo-title' # points data
x = [1, 2, 3, 4]
y = [45, 32, 46, 89] # set arguments
pyplot.xlabel(x_label)
pyplot.ylabel(y_label)
pyplot.title(title) # set data
pyplot.plot(x, y) pyplot.show()

多个函数图像

import matplotlib.pyplot as pyplot
import numpy # init
pyplot.figure() # arguments
x_label = 'x'
y_label = 'sin(x)'
title = 'Figure-sin(x)' # points data
# [0, 10] 区间内的 1000 个均匀分布的 x
x = numpy.linspace(0, 10, 1000)
sin_y = numpy.sin(x)
cos_y = numpy.cos(x) # set arguments
pyplot.xlabel(x_label)
pyplot.ylabel(y_label)
pyplot.title(title) # 设置 y 轴范围
pyplot.ylim(-1.5, 1.5) # set data
# label, color, linewidth 是 图示 参数,用于区分多个曲线的情况
pyplot.plot(x, sin_y, label='$ sin(x) $', color='red', linewidth=1)
pyplot.plot(x, cos_y, label='$ cos(x) $', color='blue', linewidth=1)
pyplot.legend() pyplot.show()

多个函数图像 2.0

在上述基础上进一步封装, 对 draw_arguments 进行实例化, 然后调用 draw_figure 即可.

import matplotlib.pyplot as pyplot
import numpy
import math class draw_arguments: def __init__(self, func, func_name, x_domain: tuple, points_num=1000):
super().__init__()
self.draw_func = func
self.func_name = func_name
self.x_data = numpy.linspace(x_domain[0], x_domain[1], points_num)
self.y_data = [func(x) for x in self.x_data] def draw_figure(dargs, title='Figure', x_label='x', y_label='y'):
# init
pyplot.figure() # set arguments
pyplot.xlabel(x_label)
pyplot.ylabel(y_label)
pyplot.title(title) # set data
# label, color, linewidth 是 图示 参数,用于区分多个曲线的情况
for draw in dargs:
pyplot.plot(draw.x_data, draw.y_data, label='$' +
draw.func_name + '$', linewidth=1)
pyplot.legend() pyplot.show() d1 = draw_arguments(func=lambda x: 2**x,
func_name='2^x',
x_domain=(0, 5)) d2 = draw_arguments(func=lambda x: x*x,
func_name='x^2',
x_domain=(0, 5)) draw_figure([d1, d2])

绘制动画

心形曲线

提到心形曲线, 最著名的莫过于笛卡尔心形曲线, 其方程为(极坐标的形式):

\[r = a(1 - \sin{\theta})
\]

但我不是很想用这个.

还有一个较为著名的方程形式的心形曲线:

\[x^2+(y-x^\frac{2}{3})^2 = 0
\]

也不是很想用, 因为这都不是函数形式.

偶然发现了一个心形曲线为:

\[f(x) = x^\frac{2}{3} + \sqrt{\pi-x^2} \sin(k \pi x)
\]

其中, \(k \ge 10\) 时, 随着 \(k\) 的增大, 函数图像会越来趋近于一个心形.

当 \(k=10\) 时:

闲着没事, 用 python 做了一段动画:

import matplotlib.pyplot as pyplot
import numpy
import math pyplot.rcParams['figure.figsize'] = (3, 3) # 图像显示大小
pyplot.rcParams['lines.linewidth'] = 1.5 # 设置曲线线条宽度
pyplot.ion()
data = numpy.linspace(-math.sqrt(math.pi), math.sqrt(math.pi), 500)
x, y = [], [] def heart(x):
return math.pow(x * x, 1 / 3) + math.sqrt(math.pi - x * x) * math.sin(10 * x * math.pi) for k in data:
x.append(k)
y.append(heart(k))
pyplot.clf()
subplot = pyplot.subplot()
pyplot.plot(x, y)
pyplot.pause(0.0000001) pyplot.ioff()
pyplot.show()

pyplot 作图总结的更多相关文章

  1. Python#常用的模块和简单用法

    目录 random 随机模块 os 文件夹模块: time 时间模块: matplotlab.pyplot 作图模块 mpl_toolkits.mplot3d 绘制3D图模块 Pygame Reque ...

  2. Python与R的区别和联系

    转自:http://bbs.pinggu.org/thread-3078817-1-1.html 有人说Python和R的区别是显而易见的,因为R是针对统计的,python是给程序员设计的,其实这话对 ...

  3. 6 python高级数据处理和可视化

    6.2. pyplot作图 1.折线图和散点图 t = np.arange(0,4,0.1) plt.plot(t,t,'o',t,t+2,t,t**2,'o') plt.show() 2.柱线图 p ...

  4. Matplotlib数据可视化(1):入门介绍

      1 matplot入门指南¶ matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来 ...

  5. matplotlib画图实例:pyplot、pylab模块及作图參数

    http://blog.csdn.net/pipisorry/article/details/40005163 Matplotlib.pyplot画图实例 {使用pyplot模块} matplotli ...

  6. Python: 作图

    在python中实现数据的可视化,也即作图,一般是依赖matplotlib宏包实现的.但常见的代码中都是加载pylab,是不是这里写错了呀?其实pylib只是matplotlib的一个模块,只是被做成 ...

  7. matplotlib 入门之Pyplot tutorial

    文章目录 pyplot 介绍 修饰你的图案 格式字符串 [color][marker][line] Colors Markers Line Styles 利用关键字作图(大概是数据映射到属性吧) 传入 ...

  8. 用matplotlib获取雅虎股票数据并作图

    matplotlib有一个finance子模块提供了一个获取雅虎股票数据的api接口:quotes_historical_yahoo_ochl 感觉非常好用! 示例一 获取数据并作折线图 import ...

  9. 一个简单的使用matplotlib作图的例子

    #使用matplotlib作图 import numpy as np import matplotlib.pyplot as plt #x = np.linspace(start, stop, num ...

随机推荐

  1. 图示JVM工作原理

    JDK,JRE,JVM的联系是啥? JVM Java Virtual Machine JDK Java Development Kit JRE Java Runtime Environment 看上图 ...

  2. .NET Core 获取程序运行环境信息与反射的应用

    目录 RuntimeInformation.Environment 获取信息 反射获取信息 获取某个属性的值以及别名 反射获取信息 使用 总结 笔者的九篇反射系统文章已经完结,但是笔者会持续更新反射在 ...

  3. PyMuPDF库(处理PDF)

    昨天在公司需要把一份PDF格式认证表转换为图片JPEG格式,所以在网上查询了一些与此相关的python库,最后看网上大多都是使用Wand和PyMuPDF,在安装了Wand库后,导入相应的模块后报错了, ...

  4. 自己查与写的批量比较bash

    前言:互测的时候一个一个输入感觉太麻烦,于是尝试写自己的对拍,又想到os刚学了bash命令行处理,于是想把两者结合一下减轻自己的工作量 分两步: 将所有人的工程导出成jar文件 放到linux下用ba ...

  5. spring——AOP原理及源码(五)

    前情回顾: 在上一篇中,通过 wrapIfNecessary 方法,我们获取到了合适的增强器(日志方法)与业务类进行包装,最终返回了我们业务类的代理对象. 本篇我们将从业务方法的执行开始,看看增强器( ...

  6. Python爬虫 - UserAgent列表

    PC端: PC_USER_AGENT = [ 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)', 'Mozilla/4.0 (compatibl ...

  7. js原型继承题目

    var F = function(){}; Object.prototype.a = function(){}; Function.prototype.b = function(){}; var f ...

  8. ZXingObjC二维码扫描

    #import "QRScanViewController.h" #import "AppDelegate.h" @interface QRScanViewCo ...

  9. 2020ubuntu1804server编译安装redis笔记(三)启动服务和使用redis

    第一篇笔记记录了ubuntu1804server编译安装redis5,接下来要配置redis5了 网址:https://www.cnblogs.com/qumogu/p/12435694.html 第 ...

  10. selenium中js定位

    学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位 使用js定位的时候是用DOM树定位方式 eg: document.g ...