Transformed Line¶

1# Plot a line with two transformed lines.
2
3# Dummy data.
4x = numpy.linspace(0, 1, 256) * Angstrom
5y = numpy.linspace(-1, 1, 256) ** 2 * eV
6
7# Create and tweak model.
8model = Plot.PlotModel(Angstrom, eV)
9model.framing().setTitle('Plot Transformed Lines')
10model.xAxis().setLabel(r'$\Delta_X$')
11model.yAxis().setLabel(r'$\varepsilon$')
12model.legend().setVisible(True)
13
14# Create line and add to model.
15line = Plot.Line(x, y)
16line.setLabel('Line')
17line.setLineWidth(2)
18line.setColor('royalblue')
19model.addItem(line)
20
21# Create step.
22step = Plot.TransformedLine(y_expression='sign(gradient(y/eV)) * eV')
23line.addItem(step)
24step.setLabel('Sign of gradient')
25step.setLineWidth(0.5)
26
27# Create cumulative sum.
28integral = Plot.TransformedLine(y_expression='cumsum(y) * gradient(x/Angstrom)')
29line.addItem(integral)
30integral.setLabel('Integral')
31integral.setLineStyle('--')
32
33# Autoscale.
34line.setVisible(True)
35model.setLimits('y', -1.2, 1.2)
36
37# Show the plot for interactive editing.
38Plot.show(model)
39
40# Save the plot (can also be saved to svg, pdf, jpeg or hdf5).
41Plot.save(model, 'transformed_line.png')
References: Plot.TransformedLine, Plot.Line, Plot.PlotModel, Plot.show, Plot.save.
↩ Go back to Plots