gpt4 book ai didi

python - gridspec 在参数中不使用 ":"?

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:42 25 4
gpt4 key购买 nike

我的问题非常简单:我不能在最后一个参数中执行“:”图(strecke, strecke2, "Metern/s 中的 Strecke", "S(t) 图", 0, :)因为它告诉我:“str”和“int”实例之间不支持“<”但我想在两列上都有这个图表,那么我能在两列上做什么呢?

文件链接:https://filehorst.de/download.php?file=ceCnteJq

import codecs
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches # wird nicht benutzt, test
import numpy as np
import matplotlib.gridspec as grid

zeit = []
strecke = []
geschwindigkeit = []
beschleunigung = []
strecke2 = []
geschwindigkeit2 = []
beschleunigung2 = []


gs = grid.GridSpec(2, 2)
fig = plt.figure('Diagramme', tight_layout=True)

daten = open("BewegungBeschleunigung.csv")

reiheÜberspringen = True

for i in daten:

if reiheÜberspringen == True:
reiheÜberspringen = False
continue

i = i.strip().split(",")

zeit.append(float(i[0]))
strecke.append(float(i[1]))
geschwindigkeit.append(float(i[2]))
beschleunigung.append(float(i[3]))
strecke2.append(float(i[4]))
geschwindigkeit2.append(float(i[5]))
beschleunigung2.append(float(i[6]))

def diagram(y, y2, yachse, titel, pos1, pos2):

ax = fig.add_subplot(gs[pos1, pos2])
ax.plot(zeit, y, "go", markersize = 2.5)
ax.plot(zeit, y2, "ro", markersize = 2.5)
ax.autoscale(enable = False, axis = "both", tight = None)
ax.grid(True)
ax.set_title(titel)

plt.gcf().canvas.set_window_title("Diagramme")


diagram(strecke, strecke2, "Strecke in Metern/s", "S(t) Diagramm", 0, :)
diagram(geschwindigkeit, geschwindigkeit2, "Geschwindigkeit in Metern/s", "V(t) Diagramm", 1, 0)
diagram(beschleunigung, beschleunigung2, "Beschleunigung in Metern/s^2", "a(t) Diagramm", 1, 1 )
plt.show()



daten.close

最佳答案

您可以在函数中添加 if 条件。您可以将pos2的默认值设置为None。因此,如果您想要 :,则在调用 diagram 时无需传递任何值。然后检查函数内部是否已为 pos2 传递了任何值。如果没有,则使用 : 否则使用传递的值。

下面是修改后的函数。我没有你的数据,但它会起作用。

<小时/>
def diagram(y, y2, yachse, titel, pos1, pos2=None):
if not pos2:
ax = fig.add_subplot(gs[pos1, :])
else:
ax = fig.add_subplot(gs[pos1, pos2])
ax.plot(zeit, y, "go", markersize = 2.5)
ax.plot(zeit, y2, "ro", markersize = 2.5)
ax.autoscale(enable = False, axis = "both", tight = None)
ax.grid(True)
ax.set_title(titel)

plt.gcf().canvas.set_window_title("Diagramme")


diagram(strecke, strecke2, "Strecke in Metern/s", "S(t) Diagramm", 0) # <-- No pos2
diagram(geschwindigkeit, geschwindigkeit2, "Geschwindigkeit in Metern/s", "V(t) Diagramm", 1, 0)
diagram(beschleunigung, beschleunigung2, "Beschleunigung in Metern/s^2", "a(t) Diagramm", 1, 1 )
plt.show()

关于python - gridspec 在参数中不使用 ":"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55289560/

25 4 0
文章推荐: c# - Linq 代码无法正常工作
文章推荐: python - 如何使用 Python 增强图像中的文本检测
文章推荐: c# - List 到层次结构