我已经在我的软件定义无线电上读取了数据。我有三个数量,频率,功率和错误率。我想在我的x轴上保持频率,因为后者的数量是相对于频率测量的。现在我需要将它们绘制在一条曲线上,以便我可以在一次拍摄中看到频率与功率和频率与误差率。我一直在看matplotlib很长一段时间,但我看到了3D散点图,它们似乎没有传达我想要的图片。所以我的问题是
在我的情况下,3d绘图是无用的,我最好绘制2个图形并将两个图形的y轴连接在一起,这样我就可以看到两个图形在彼此之上。
在python或matlab中是否存在绘制三维曲线的方法,然后如果移动光标,则可以看到频率与功率的关系,如果移动光标,则可以通过另一种方式查看频率与错误率
关于如何更好地表达我的阅读材料的任何其他想法都会有所帮助。
答案 0 :(得分:1)
当两组数据共享相同的因变量(x轴)时,至少在科学文献中通常以下列方式绘制它们以节省空间:
这对于缠绕x轴而言是首选,这可能会导致某些人混淆。如果要比较功能,它的效果尤其好。
该图使用以下方式生成:
import pylab as py
x = py.linspace(0,10,1000)
y = py.sin(x)
z = py.sinc(x)
ax1 = py.subplot(211)
ax1.plot(x,y)
ax1.set_xticklabels([]) # Remove the xticks from the top figure
ax1.set_yticks(ax1.get_yticks()[1:]) # Stops the y axis overlapping
ax2 = py.subplot(212)
ax2.plot(x,z)
py.subplots_adjust(hspace=0.0)
py.show()
我相信有一种更好的方法可以移除xticklabels
,但我现在还记不住了。小心不要只是py.set_xticks([])
,就好像你要求网格顶部的图没有ticks
。