python - Matplotlib 的 Gnuplot 命令

标签 python numpy matplotlib gnuplot

我正在编辑一些在 Fortran 上运行并使用 gnuplot 的旧软件。我正在尝试将一些部分移植到 python 上,但我有点困惑。

我有一个飓风数据的矩阵文件,它使用以下命令进行绘制:

plot 'file.txt' matrix with image 1:999:1:480 w l t       ""

我不完全理解 gnuplot 命令,所以当我将绘图函数与 matplotlib 一起使用时,我得到了完全不同的东西。

有人知道如何在 python 中以同样的方式绘制它吗?

最佳答案

我同意 Christoph 的观点:您可能的 gnuplot 命令行接近:

plot 'file.txt' matrix with image every 1:999:1:480  t  ""

plot 规范with imagewith line 存在冲突。
Gnuplot 是懒惰爱好者。或者你讨厌它或者你喜欢它:-)

您总是可以找到缩短的命令:

plot  ---> pl  
with  ---> w  
lines ---> l  
title ---> t  
and so on...

在Python中,你可以尝试类似的东西(如果它错过了命令行中的每个单词,它仍然会过滤数据......)

#!/usr/bin/python
import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

# Read in data from an ASCII data table
data = np.genfromtxt('data.txt')

ax.imshow(data, cmap=plt.cm.gray, interpolation='nearest')
#ax.imshow(data, cmap=plt.cm.gray)
ax.set_title('My Title')
plt.show()

它重现了帮助图像的 gnuplot 示例的效果
data.txt 文件中,我放置了与示例相同的数据

5 4 3 1 0
2 2 0 0 1
0 0 0 1 0
0 1 2 4 3

关于python - Matplotlib 的 Gnuplot 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23555683/

相关文章:

python - 绘制阶梯直方图而不用底线闭合多边形

matplotlib - 退出 matplotlib 时出现 PyQt 段错误

python - 在没有 root 权限的情况下在本地安装 pip

python - 如何使用 python 3.7 (Spyder) 计算数据读数的移动平均值?

python - 使用索引和 bool 选择后更新二维矩阵上的值

python - 在 NumPy 数组上调用 `np.asarray' 是否有很大的开销?

python - 在 Cython 中将复杂的 numpy 数组传递给 C++

python - 有效计算均值和中位数

python - cimport 给出 fatal error : 'numpy/arrayobject.h' file not found

matplotlib - 为 matplotlib 中的区域设置 x 刻度