gnuplot执行后字体初始化警告含义及折线绘制方法咨询
gnuplot相关问题解答
1 字体初始化警告说明
警告含义
该警告是gnuplot使用Qt作为图形渲染后端时的已知内部提示,由Qt字体资源初始化阶段的事件处理时序不匹配导致,属于后端层面的非致命异常提示,和你编写的业务代码无关。
对结果的影响
完全无影响。该警告仅出现在程序启动阶段,不会干扰绘图数据计算、图形渲染的正确性,你得到的种群模拟曲线结果是完全准确的。
规避方法
你可以选择以下任意一种方法消除警告:
- 升级gnuplot到5.4及以上正式版本,该版本已经修复了Qt后端的这个时序问题
- 启动gnuplot时重定向错误输出,你当前是Windows环境,把
_popen的调用参数修改为"gnuplot -persistent 2>nul"即可过滤掉该警告 - 切换gnuplot图形终端,在你发送的gnuplot命令最开头新增一条
set terminal wxt,使用wxt后端替代Qt后端即可避免该问题
2 绘制数据点连接线的方法
gnuplot默认绘制数据文件时仅展示离散点,你只需要修改plot命令的样式参数即可:
- 要同时展示数据点和连接线,将原plot命令修改为
plot 'data.tmp' with linespoints - 如果只需要连接线不需要显示单独的数据点,修改为
plot 'data.tmp' with lines - 你还可以自定义样式提升可读性,比如设置线宽、点样式:
plot 'data.tmp' with linespoints linewidth 2 pointtype 7 pointsize 1.5
对应到你的代码中,只需要修改GnuCommands数组的第二个元素即可,示例如下:
char *GnuCommands [] = {"set title \"Popsim\"", "plot 'data.tmp' with linespoints"};
内容的提问来源于stack exchange,提问作者4Head
相关产品推荐
相关产品推荐

