如何使用matplotlib复制这个简单的matlab绘图功能?

时间:2010-12-08 20:57:39

标签: python matlab

这是一个简单的matlab脚本,用于读取csv文件,并生成一个图(我可以根据需要使用鼠标放大)。我想看一个如何在python和mathplotlib中完成这个的例子。

data = csvread('foo.csv');    % read csv data into vector 'data'
figure;                       % create figure
plot (data, 'b');             % plot the data in blue

一般来说,我见过的mathplotlib教程中的例子会创建一个静态图形,但它不是交互式的“可缩放的”。任何python专家都会关心分享一个等价物吗?

由于

2 个答案:

答案 0 :(得分:6)

import matplotlib.pyplot as plt
import numpy as np

arr=np.genfromtxt('foo.csv',delimiter=',')
plt.plot(arr[:,0],arr[:,1],'b-')
plt.show()

关于此数据(foo.csv):

1,2
2,4
3,9

产生

alt text

设置matplotlibrc时,需要设置的关键参数之一是backend。您选择哪个后端取决于您的操作系统和安装。 对于任何典型的操作系统,应该有一个后端,允许您以交互方式平移和缩放绘图。 (GtkAgg适用于Ubuntu)。以红色突出显示的按钮允许您分别进行平移和缩放。

答案 1 :(得分:1)

由于您熟悉Matlab,我建议将matlab接口用于matplotlib - 它主要模仿Matlab的绘图。正如unutbu所说,情节的可缩放性由您使用的后端决定,这是一个单独的问题。

from pylab import *
data = genfromtxt("file.csv")
plot(data, 'b')