Python绘制函数图像并保存为csv数据

简介

在科研工作中需要求解一些方程,这些方程除了数值解法外没有更好的求解方式,所以通过 Python 或其他程序将函数的映射关系保存为一个 csv 文件,然后随时都可以用绘图软件作图显示。如果不保存数据,每次分析或交流时都要重新跑一遍程序,显然在时间上是不合算的,所以必须将复杂方程的结果保存下来。本文介绍使用 Python 保存函数图象为 csv文件的操作流程。

实例

python3 源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#! /usr/bin/env python3
from os import walk
import numpy as np
import matplotlib.pyplot as plot
from pylab import *
import pandas as pd
import math
import tkinter as tk

x0=-0.2 #初始值z0的x0
y0=0 #初始值z0的y0
a=4 #绘制图的横轴大小
step=0.01 #绘制点的步长
zoom=1.0 #放大倍率

x=np.arange(-a/(2.0*zoom)+x0,a/(2.0*zoom)+x0,step)
y=x**2+2*x+1
z=3*np.sin(x)

data = {
`xd': x ,
'yd': y ,
'zd': z
}
u = pd.DataFrame(data)
u.to_csv('func.csv')

编程思路

  • x=np.arange(-a/(2.0*zoom)+x0,a/(2.0*zoom)+x0,step) 建立自变量等间隔划分的一个列向量.
  • y=x**2+2*x+1 根据自变量建立了一个二元函数映射列向量.
  • z=3*np.sin(x) 根据自变量建立了一个三解函数映射列向量.
  • 使用三组列向量构建数据表格 data.
  • 使用pandasDataFrame函数建立data对应的数据,并保存为func.csv文件.
  • 使用veusz导入func.csv,选择对应的列数据便可以绘制相应的函数图象.

参考文章