我正在使用gnuplot 5.9 patchlevel 3,我想使用不同的,lt因此我想从gnuplot 5.0 patchlevel 1 重现以下本教程.
特别是如果我复制它并从术语和.eps启动它我看不到虚线,这里是输出 
特别是我不明白以下几行:
You will only see dashed lines if your current terminal setting permits it
这是什么意思?我如何'强制'gnuplot在.eps,.png或通过屏幕打印不同的虚线?
我找到了这个指南但它引用了一个4.2.5版本的gnuplot,即使我使用:
set termoption dashed
要么
set terminal x11 dashed
我看不到虚线......这些是我可以在gnuplot 5.0 patchlevel 3中使用的终端help term:
Run Code Online (Sandbox Code Playgroud)canvas cgm context corel dumb dxf eepic emf emtex epslatex fig hpgl latex mf mp pcl5 pop postscript pslatex pstex pstricks push qms svg tek40xx tek410x texdraw tgif tkcanvas tpic vttek x11 xlib xterm …
我有一个由 7 列和超过 800 万行组成的分散数据文件(数据文件)。我想绘制此数据的轮廓。我想绘制的列是第一个,第二个和最后一个(第七个),给出一个 2d 和 3d 绘图如下:
正视图:

边缘视图:
和简单的 3d:

从第二个图中可以看出,第一件事是这些点聚集在 2d 区域的特定位置,在 3d 图中可以看到最小值的同一区域。但是,其次,这些点随机分布在平面(第二个图)中,我想我不能使用矩阵表示来绘制 iso-z 的轮廓。
是否可以使用 gnuplotset contour base并cntrparam levels做到这一点?
我有以下数据:
t_4 24 3 0 0
t_6 37 4 0 0
t_8 51 4 2 0
t_4 15 1 0 0
t_6 21 0 0 1
t_8 30 0 0 1
t_4 13 2 1 0
t_6 20 3 1 0
t_8 22 4 1 0
Run Code Online (Sandbox Code Playgroud)
我尝试使用此修改版本的代码制作类似于http://www.bmsc.washington.edu/people/merritt/gnuplot/stack+cluster.dem的直方图:
set style data histogram
set style histogram rowstacked
set style fill solid
set boxwidth 0.5
set key invert samplen 0.2
set key samplen 0.2
set bmargin 3
set offset 0,2,0,0
set …Run Code Online (Sandbox Code Playgroud) 我有一个文件,我阅读如下:
data1 = np.loadtxt('lc1.out')
x = data1[:, 0]
y = data1[:, 1]
Run Code Online (Sandbox Code Playgroud)
我想消除它,我在这里找到了一个非常有用的链接。
model = np.polyfit(x, y, 2)
predicted = np.polyval(model, x)
Run Code Online (Sandbox Code Playgroud)
无论如何,我想掩盖一部分数据,例如我将只使用掩码外的点进行拟合。例如,我只想使用低于 639.5 和大于 641.5 的数据和二阶多项式拟合。
我有使用ma.masked_outside(x, 639.5, 641.5)这样的想法,因为它很容易仅将掩码外的元素保存在数组中......但我不明白如何使用polyfit.
我尝试创建多图 (2x2) 和单图的组合。我不确定我做错了什么,但我不知道该怎么做。我的尝试:
plot sin(x) title "this should be a single plot"
set multiplot layout 2,2 title "Those are the multiplots"
set title "A!"
plot sin(x)
set title "B!"
plot cos(x) not
set title "C!"
tan(x) title "tan"
set title "D"
tan(0.5*x) not
Run Code Online (Sandbox Code Playgroud)
不管我把情节放在后面还是前面,但我无法想象它。
谢谢。
我有一个文件列表1.dat,...,N.dat在我想要阅读和分析的目录中.
我做了以下
for f in os.listdir('.'): # read all the files in the directory
if f.endswith('.dat'): # use only the ones with .dat as extansion
print(f)
data1 = np.loadtxt(f)
# some operations on each file
Run Code Online (Sandbox Code Playgroud)
这样,文件以随机顺序拍摄,输出打印:
6.dat
4.dat
8.dat
5.dat
13.dat
10.dat
1.dat
16.dat
20.dat
19.dat
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,我如何强制脚本以有序的方式读取文件?从文件1.dat到N.dat.
我尝试测试一个 fortran MPI 程序,看看我可以从 MPI 方面的串行编程中获得多少速度。
我首先编译程序:
mpif90 mpi_pi_reduce.f -o mpi_pi
然后,因为我在本地化时遇到问题,mpirun我按如下方式启动程序:
/usr/bin/mpirun -np 4 ./mpi_pi
现在,np=1 我得到:
real 0m0.063s
user 0m0.049s
sys 0m0.017s
Run Code Online (Sandbox Code Playgroud)
而如果我使用 np=4 我得到:
real 0m1.139s
user 0m0.352s
sys 0m0.045s
Run Code Online (Sandbox Code Playgroud)
这是不现实的 :-( !是否有可能,使用 /usr/bin/mpirun,MPI 无法正常工作?我没有接触示例代码,所以问题不可能是程序本身。我有:
ifort (IFORT) 14.0.1 20131008
Copyright (C) 1985-2013 Intel Corporation. All rights reserved.
和 gfortran:
GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
最后:
/usr/bin/mpirun -V
mpirun (Open MPI) 1.4.5
我只使用mpirun命令的错误是:
/opt/intel/composer_xe_2013_sp1.1.106/mpirt/bin/intel64/mpirun: 96: …
我有fortran代码计算离散信号的FFT(具有两个不同频率的双正弦信号),从以下提取:
y = 0.5*np.sin(2 * np.pi * ff1 * t) + 0.1*np.sin(2 * np.pi * ff2 * t)
当我使用fortran代码计算FFT并且与使用python计算的FFT进行比较时,我可以看到:
1.两个图中的选秀权的差异是由于四舍五入?我可以以某种方式消除或减少它吗?
python中使用的代码是:
import numpy as np
import matplotlib.pyplot as plt
from scipy import fft
Fs = 2048 # sampling rate = number of lines in the input file
Ts = 1.0/Fs # sampling interval
data = np.loadtxt('input.dat')
t = data[:,0]
y = data[:,1]
plt.subplot(2,1,1)
plt.plot(t,y,'ro')
plt.xlabel('time')
plt.ylabel('amplitude')
plt.subplot(2,1,2)
n = len(y) # length of the signal
k = np.arange(n)
T …Run Code Online (Sandbox Code Playgroud)