python画函数等高线 matplotlib画等高线

不能直接写出函数的表达式 怎么在python里画函数图象呢?不写出y=f(x)这样的表达式,由隐函数的等式直接绘制图像,以x2+y2+xy=1的图像为例 , 使用sympy间接调用matplotlib工具的代码和该二次曲线图像如下(注意python里的乘幂符号是**而不是^ , 还有,python的sympy工具箱的等式不是a==b,而是a-b或者Eq(a,b) , 这几点和matlab的区别很大)
直接在命令提示行的里面运行代码的效果
from sympy import *;
x,y=symbols('x y');
plotting.plot_implicit(x**2+y**2+x*y-1);
Python matplotlib之函数图像绘制、线条rc参数设置为避免中文显示出错 , 需导入matplotlib.pylab库
1.2.1 确定数据
1.2.2 创建画布
1.2.3 添加标题
1.2.4 添加x,y轴名称
1.2.5 添加x,y轴范围
1.2.6 添加x,y轴刻度
1.2.7 绘制曲线、图例, 并保存图片
保存图片时,dpi为清晰度,数值越高越清晰 。请注意,函数结尾处,必须加plt.show() , 不然图像不显示 。
绘制流程与绘制不含子图的图像一致,只需注意一点:创建画布 。
合理调整figsize、dpi,可避免出现第一幅图横轴名称与第二幅图标题相互遮盖的现象.
2.2.1 rc参数类型
2.2.2 方法1:使用rcParams设置
2.2.3 方法2:plot内设置
2.2.4 方法3:plot内简化设置
方法2中,线条形状,linestyle可简写为ls;线条宽度,linewidth可简写为lw;线条颜色,color可简写为c,等等 。
python中怎么在等高线图中添加参考线?#导入模块
import numpy as np
import matplotlib.pyplot as plt
#建立步长为0.01,即每隔0.01取一个点
step = 0.01
x = np.arange(-10,10,step)
y = np.arange(-10,10,step)
#也可以用x = np.linspace(-10,10,100)表示从-10到10,分100份
#将原始数据变成网格数据形式
X,Y = np.meshgrid(x,y)
#写入函数,z是大写
Z = X**2+Y**2
#填充颜色,f即filled
plt.contourf(X,Y,Z)
【python画函数等高线 matplotlib画等高线】#画等高线
contour = plt.contour(X,Y,Z)
#平行于坐标系的参考线
plt.axhline(y=2.5,c='red',ls='--',lw=3)
plt.axvline(x=2,c='green',ls='--',lw=3)
#等高线上标明z(即高度)的值,默认是保留3个小数 , 可以如下保留四位
plt.clabel(contour,fontsize=10,colors=('k','r'),fmt='%.2f')
plt.show()
差不多就这样吧,有问题的话再留言吧
Python数据分析在数学建模中的应用汇总(持续更新中?。?/h2>1、Numpy常用方法使用大全(超详细)
1、Series和DataFrame简单入门
2、Pandas操作CSV文件的读写
3、Pandas处理DataFrame,Series进行作图
1、Matplotlib绘图之属性设置
2、Matplotlib绘制误差条形图、饼图、等高线图、3D柱形图
1、层次分析法(AHP)——算数平均值法、几何平均值法、特征值法(Python实现,超详细注释)
2、Python实现TOPSIS分析法(优劣解距离法)
3、Python实现线性插值和三次样条插值
4、Python实现线性函数的拟合算法
5、Python实现统计描述以及计算皮尔逊相关系数
6、Python实现迪杰斯特拉算法和贝尔曼福特算法求解最短路径
Python之神奇的绘图库matplotlibmatplotlib是Python最著名的绘图库 , 它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图 。本文将以例子的形式分析matplot中支持的,分析中常用的几种图 。其中包括填充图、散点图(scatter plots)、. 条形图(bar plots)、等高线图(contour plots)、 点阵图和3D图 , 下面来一起看看详细的介绍:
一、填充图
参考代码

推荐阅读