Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一组轴上学习python多重绘图_Python_Plot - Fatal编程技术网

在同一组轴上学习python多重绘图

在同一组轴上学习python多重绘图,python,plot,Python,Plot,如何在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库-它们显示了源代码 这很接近: HTH来自Matplotlib库

如何在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库-它们显示了源代码

这很接近:


HTH

来自Matplotlib库-它们显示了源代码

这很接近:


HTH

在我看来,最简单的方法之一是使用多维列表存储值,而不是使用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进行打印。这就是我的意思

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看看matplotlib谢谢。我将努力理解代码。有没有一种方法可以让k值在-10到10之间,从而看到负值?谢谢。我将努力理解代码。有没有一种方法可以让k的范围从-10到10,从而看到负值?