0

我将如何在 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}}]

在此处输入图像描述

4

2 回答 2

3

在我看来,最简单的方法之一是使用多维列表来存储值,而不是使用 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 来修复轴并获取标签和东西。

于 2013-04-10T18:31:02.583 回答
0

来自 Matplotlib 库 - 他们展示了源代码。

这很接近:

http://matplotlib.org/examples/pylab_examples/errorbar_limits.html

http://matplotlib.org/examples/pylab_examples/step_demo.html

http://matplotlib.org/gallery.html

高温高压

于 2013-04-10T15:52:32.197 回答