首页 > 解决方案 > 如何指定要显示的图表?(输入)

问题描述

我的代码包含 3 个用于创建直方图的数组。每个图表使用不同的增量/步长(3 kmh/h、5 km/h、10 km/h)。我想做什么:让用户输入 3、5 或 10 公里/小时,然后应该显示正确的图表(例如 10 公里/小时增量,应该显示 10 公里/小时增量的图表。

import pandas as pd
from tkinter import filedialog as fd

filename = fd.askopenfilename()

datei = []
data = pd.read_csv("histo.csv")
df2 = []

n=int (input ("Schrittweite:"))
for i in [3]:
    df1 = pd.DataFrame({
    "Geschwindigkeit in km/h":['1.209-4.209','4.209-7.209','7.209-10.209','20.209-13.209','13.209-16.209','16.209-19.209','19.209-22.209',"22.209-25.209"],
    "Relative Häufigkeit":[4,8,10,31,24,12,7,3],
})

for i in [5]:
    df2 = pd.DataFrame({
    "Geschwindigkeit in km/h":["0-5","5-10","10-15","15-20","20-25"],
    "Relative Häufigkeit":[4,8,21,10,4]
})

for i in [10]:
    df3 = pd.DataFrame({ 
    "Geschwindigkeit in km/h":["1-10","10-20","20-30"],
    "Relative Häufigkeit":[12,21,7]
})
    
with open(r"final.txt") as f:
        for line in f:
            zeile = line.split()
            tupel = map(float, zeile)
            datei.extend(tupel)
            datei = [float(point) for point in datei]
            geschw_avg = (sum(datei)/len(datei))
                                                                                                             
print(round(geschw_avg,2))

for i in [3]:
    df1.plot(kind='bar',x='Geschwindigkeit in km/h',y='Relative Häufigkeit')
    
for i in [5]:
    df2.plot(kind='bar',x='Geschwindigkeit in km/h',y='Relative Häufigkeit')
    
for i in [10]:
    df3.plot(kind='bar',x='Geschwindigkeit in km/h',y='Relative Häufigkeit')

标签: python

解决方案


推荐阅读