我正在编辑一些在 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 image
和 with 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/