我将如何在 Python 中设置这个情节?
这是我在 Mathematica 中所做的:
mykvalue = Table[k, {k, 0, 10, 1}];
u[r_, k_] = 1/(2*r^2) + k/(2*r^2);
Plot[u[r, mykvalue], {r, 0, 5}, PlotStyle -> {Red},
PlotRange -> {{0, 5}, {0, 2}}]
在我看来,最简单的方法之一是使用多维列表来存储值,而不是使用 matplotlib 绘图。这就是我的意思
from math import *
import numpy as np
import matplotlib.pyplot as plt
k = range(11)
yvals = [[] for i in range(len(k))] #there should be a more pythonic way to
x = np.arange(0.4,5,0.1) #create nested lists i think, ALM I added np.
for i in k:
for j in x:
i = float(i) #this conversion from int to float was to debug,
j = float(j) #it should be made better
y=1/(2*j**2) + i/(2*j**2)
i = int(i)
yvals[i].append(y)
for i in k:
plt.plot(x,yvals[i])
plt.show()
我猜这应该可行。您可以摆弄 matplotlib 来修复轴并获取标签和东西。
来自 Matplotlib 库 - 他们展示了源代码。
这很接近:
http://matplotlib.org/examples/pylab_examples/errorbar_limits.html
http://matplotlib.org/examples/pylab_examples/step_demo.html
http://matplotlib.org/gallery.html
高温高压