我正在尝试使用gnuplot-py-1.8目录中的命令“python setup.py install”在我的Mac上安装“Gnuplot-py”软件包,但是我收到此错误:
Traceback(最近一次调用最后一次):
文件“/Users/sebydc77/Downloads/gnuplot-py-1.8/PlotItems.py”,第20行,来自cStringIO import StringIO ModuleNotFoundError:没有名为'cStringIO'的模块
在处理上述异常期间,发生了另一个异常:
Traceback(最近一次调用最后一次):
文件“setup.py”,第15行,来自初始导入版本文件“/Users/sebydc77/Downloads/gnuplot-py-1.8/init.py”,第166行,来自PlotItems import PlotItem,Func,File,Data ,GridData文件“/Users/sebydc77/Downloads/gnuplot-py-1.8/PlotItems.py”,第22行,来自StringIO import StringIO ModuleNotFoundError:没有名为'StringIO'的模块
我花了至少3个小时试图解决这个问题 . 我也尝试了不同的替代品,如“pip install Gnuplot-py”,“pip install download link ...”等...
(注意:我的机器上已经安装了gnuplot)
1 回答
如前所述,该模块不适用于Python 3 .
但是在Python中使用
gnuplot
编写自定义绘图函数并不是那么难 . 下面是我写的一个例子,用于绘制碳纤维层压板与环氧树脂的注入图 . 在输液过程中,将一桶树脂放在秤上,这样我每隔几分钟就能记下剩余的重量 .plot
函数的主要输入是numpy
数组,其中我记录了仍在桶中的树脂的时间和数量 . 这个数量会随着时间的推移而下降,所以我用这个数据来计算每个点注入树脂的总量和树脂流动的速度 . 这就是numpy
派上用场的地方!基本上这个函数创建一个包含gnuplot命令和内联数据的行列表,然后将它们连接成一个字符串并输入
gnuplot
作为subprocess
运行 .输出看起来像这样:
请注意,图形的样式由我的
gnuplotrc
文件中的设置决定 .