我想按虚部的升序对一些复数进行排序。我已经阅读了文档,但是我仍然不知道如何使用import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure(1)
ax1 = fig.add_subplot(1,1,1)
def animate(i):
graph_data = open('example.txt','r').read()
lines = graph_data.split('\n')
xs = []
ys = []
for line in lines:
if len(line) > 1:
x, y = line.split(',')
xs.append(x)
ys.append(y)
ax1.clear()
ax1.plot(xs, ys)
ani = animation.FuncAnimation(fig, animate, interval=1000)
plt.show()
函数在单行命令中执行此操作。 (我尝试过sort
,这是类似问题中提供的答案,但我想知道如何使用r[order(Im(r))]
来做到这一点。)有人可以帮忙吗?谢谢。
答案 0 :(得分:3)
可以想到复数的不同顺序:根据它们的实部,虚部,大小或极角。
要根据其虚构部分进行排序,可以很容易地定义一个自定义函数。这是一个示例:
complex_sort <- function(z) z[order(Im(z))]
z1 <- complex(real = 1, imaginary = 1)
z2 <- complex(real = 2, imaginary = 1)
z3 <- complex(real = 1, imaginary = 2)
complex_sort(c(z1, z2, z3))
#[1] 1+1i 2+1i 1+2i