You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

TopSpin环境下Jython 2.5无Matplotlib实现XY列表绘图需求

刚好我之前在TopSpin的Jython 2.5环境下做过类似的X-Y列表绘图需求,给你两个完全适配现有环境的方案,不需要额外安装任何包:

方案1:使用TopSpin原生XYPlot组件(最推荐)

这是TopSpin内置的绘图组件,专门为NMR数据处理场景设计,完全兼容自带的Jython环境:

from de.bruker.nmr.topspin.gui.graphic import XYPlot
from de.bruker.nmr.topspin.gui.graphic import XYData

# 替换成你的X轴和Y轴数据列表
x_values = [1.0, 2.0, 3.0, 4.0, 5.0]
y_values = [2.0, 4.0, 5.0, 4.5, 6.0]

# 创建XY数据对象,第一个参数是数据系列的名称
xy_data = XYData("My Plot Series", x_values, y_values)

# 创建绘图窗口,参数是窗口标题
plot = XYPlot("X-Y Plot Example")
plot.addData(xy_data)
# 显示绘图窗口
plot.show()

方案2:定制化绘图(调整样式、坐标轴)

如果需要更个性化的设置(比如坐标轴标签、线条颜色),可以基于原生组件扩展:

from de.bruker.nmr.topspin.gui.graphic import XYPlot
from de.bruker.nmr.topspin.gui.graphic import XYData
from java.awt import Color

# 自定义数据
x_values = [0.5, 1.5, 2.5, 3.5, 4.5]
y_values = [1.2, 3.4, 2.8, 4.1, 5.3]

# 创建数据并设置线条颜色
xy_data = XYData("Custom Series", x_values, y_values)
xy_data.setColor(Color.RED)

# 创建绘图并配置细节
plot = XYPlot("Customized X-Y Plot")
plot.addData(xy_data)
# 设置坐标轴标签
plot.getXAxis().setLabel("X Axis Label")
plot.getYAxis().setLabel("Y Axis Label")
# 设置绘图标题
plot.setPlotTitle("My Custom Plot")
plot.show()

一些注意事项

  • 因为是Jython 2.5,要严格遵循Python 2的语法:比如print是语句而非函数(用print "内容"而不是print("内容")),字符串格式化用%操作符而非str.format()方法;
  • 如果需要更多功能(比如添加多条曲线、调整刻度),可以查看TopSpin内置的API文档——在软件的「帮助」菜单里就能找到,或者去安装目录的docs文件夹里查阅XYPlotXYData等类的完整方法说明;
  • 所有用到的类都是TopSpin自带的Java组件,Jython可以直接调用,完全不需要额外安装依赖。

内容的提问来源于stack exchange,提问作者Sam

火山引擎 最新活动