python画函数图库 如何用python画函数图像

不能直接写出函数的表达式 怎么在python里画函数图象呢?不写出y=f(x)这样的表达式,由隐函数的等式直接绘制图像,以x2 y2 xy=1的图像为例 , 使用sympy间接调用matplotlib工具的代码和该二次曲线图像如下(注意python里的乘幂符号是**而不是^,还有,python的sympy工具箱的等式不是a==b,而是a-b或者Eq(a,b) , 这几点和matlab的区别很大)
【python画函数图库 如何用python画函数图像】直接在命令提示行的里面运行代码的效果
from sympy import *;
x,y=symbols('x y');
plotting.plot_implicit(x**2 y**2 x*y-1);
怎么利用python绘制sse值与k值的函数图像可以使用Python计算机图形学库matplotlib来绘制SSE值与K值python画函数图库的函数图像,具体步骤如下python画函数图库:
1.导入必要的库 , 例如matplotlib,numpy,scipy等 。
2.使用numpy和scipy生成k值与SSE值之间的矩阵,并将其存储到列表中 。
3.使用matplotlib绘制输入矩阵中包含的散点图,即k值与SSE值的函数图像 。
python函数图的绘制pre
importnumpy as np
import matplotlib.pyplot as plt
frommatplotlib.patches import Polygon
def func(x):
return-(x-2)*(x-8) 40
x=np.linspace(0,10)
y=func(x)
fig,ax = plt.subplots()
plt.plot(x,y,'r',linewidth=2)
plt.ylim(ymin=20)
a=2
b=9
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
ax.set_yticks([])
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)] list(ixy) [(b,0)]
poly = Polygon(verts,facecolor='0.9',edgecolor='0.5')
ax.add_patch(poly)
x_math=(a b)*0.5
y_math=35
plt.text(x_math,y_math,r"$\int_a^b(-(x-2)*(x-8) 40)dx$",horizontalalignment='center',size=12)
plt.show()
/pre
用Python画图今天开始琢磨用Python画图 , 没使用之前是一脸懵的 , 我使用的开发环境是Pycharm,这个输出的是一行行命令 , 这个图画在哪里呢?
搜索之后发现 , 它会弹出一个对话框,然后就开始画了,比如下图
第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟 , 你可以想象下一个小乌龟在一个x和y轴的平面坐标系里 , 从原点开始根据指令控制,爬行出来就是绘制的图形了 。
它最常用的指令就是旋转和移动,比如画个圆 , 就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:
turtle.forward(200)
turtle.left(170)
第一个命令是移动200个单位并画出来轨迹
第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度
然后呢? 循环重复就画出来这个图了
好玩吧 。
有需要仔细研究的可以看下这篇文章,这个牛人最后用这个库画个移动的钟表,太赞了 。
Turtle虽好玩,但是我想要的是我给定数据 , 然后让它画图,这里就找到另一个常用的画图的库了 。
Matplotlib是python最著名的绘图库 , 它提供了一整套和matlab相似的命令API,十分适合交互式地行制图 。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表 。
使用起来也挺简单,
首先import matplotlib.pyplot as plt 导入画图的图 。
然后给定x和y,用这个命令plt.plot(x, y)就能画图了,接着用plt.show()就可以把图形展示出来 。
接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在这篇文章里介绍的很详细 。
现在互联网的好处就是你需要什么内容 , 基本上都能搜索出来,而且还是免费的 。
我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?
假设现在有个数据csv文件,一列是日期,另一列是比特币的价格 , 那用这个命令画下:
这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下图:
自己画的是不是很香,哈哈!
然后呢 , 我在上篇文章中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛
plt.plot(df['time'], df['Ahr999'])
图形如下:
但是,Ahr999指数怎么就一条线不动啊 , 原来两个Y轴不一致,显示出来太怪了 , 需要用多Y轴,问题来了 。
继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图 , 重新绘制
fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price")# 绘制第一个图比特币价格
ax1.set_ylabel('BTC price') # 加上标签
# 第二个直接对称就行了
ax2 = ax1.twinx()# 在右边增加一个Y轴
ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999")# 绘制第二个图Ahr999指数,红色
ax2.set_ylim([0, 50])# 设定第二个Y轴范围
ax2.set_ylabel('ahr999')
plt.grid(color="k", linestyle=":")# 网格
fig.legend(loc="center")#图例
plt.show()
跑起来看看效果,虽然丑了点 , 但终于跑通了 。
这样就可以把所有指数都绘制到一张图中,等等 , 三个甚至多个Y轴怎么加?这又是一个问题 , 留给爱思考爱学习的你 。
有了自己的数据 , 建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表 。
Python绘图之(1)Turtle库详解Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始 , 它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形 。
画布就是turtle为我们展开用于绘图区域 , 我们可以设置它的大小和初始位置 。
设置画布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色 。
如:turtle.screensize(800,600, "green")
turtle.screensize() #返回默认大小(400, 300)
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例 , (startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心 。
如:turtle.setup(width=0.6,height=0.6)
turtle.setup(width=800,height=800, startx=100, starty=100)
2.1 画笔的状态
在画布上,默认有一个坐标原点为画布中心的坐标轴 , 坐标原点上有一只面朝x轴正方向小乌龟 。这里我们描述小乌龟时使用了两个词语:坐标原点(位置) , 面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态 。
2.2 画笔的属性
画笔(画笔的属性,颜色、画线的宽度等)
1) turtle.pensize():设置画笔的宽度;
2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组 。
3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快 。
2.3 绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令 。
(1) 画笔运动命令
(2) 画笔控制命令
(3) 全局控制命令
(4) 其他命令
3. 命令详解
3.1 turtle.circle(radius, extent=None, steps=None)
描述:以给定半径画圆
参数:
radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;
extent(弧度) (optional);
steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps) 。
举例:
circle(50) # 整圆;
circle(50,steps=3) # 三角形;
circle(120, 180) # 半圆
实例:
1、太阳花
2、五角星
3、时钟程序
如何使用python的matplotlib画正弦函数图像使用python的matplotlib画正弦函数图像python画函数图库,还要用到numpy库python画函数图库,代码如下9行所示:
import numpy as np;
from matplotlib import pyplot as plt;
fig = plt.figure();
ax2= fig.add_subplot(111);
x=np.arange(0,100)/10;
y=np.sin(x);
ax2.plot(x,y);
plt.savefig('sine.png');
plt.show();
python画函数图库的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于如何用python画函数图像、python画函数图库的信息别忘了在本站进行查找喔 。

    推荐阅读