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

5

这里是一个简单的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专家愿意分享一个等效的方法呢?
谢谢。

你使用的是什么系统,使得默认后端不支持可缩放的图形? - Thomas
2个回答

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上可用)。红色突出显示的按钮分别允许您平移和缩放。


正是我想要的,让我开始了!谢谢。 - loneRanger

1

既然您熟悉Matlab,我建议使用pylab接口到matplotlib - 它基本上模仿了Matlab的绘图。正如unutbu所说,图形的缩放能力取决于您使用的后端,这是一个单独的问题。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接