Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.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 Matplotlib轴混乱_Python_Numpy_Csv_Matplotlib - Fatal编程技术网

Python Matplotlib轴混乱

Python Matplotlib轴混乱,python,numpy,csv,matplotlib,Python,Numpy,Csv,Matplotlib,我试图找出这张图哪里出了问题,我试图让轴从0-1开始,但这张图是从0.1-0-1开始的,我不太确定哪里出了问题。 csv文件的格式如下: 洗碗机,60,1,1,0,1,0,0.1 import matplotlib.pyplot as plt import numpy as np import csv x = np.array([1,2,3,4,5,6]) with open('Test 5.csv', 'r') as csvfile: plots = csv.reader(csv

我试图找出这张图哪里出了问题,我试图让轴从0-1开始,但这张图是从0.1-0-1开始的,我不太确定哪里出了问题。 csv文件的格式如下:

洗碗机,60,1,1,0,1,0,0.1

import matplotlib.pyplot as plt
import numpy as np
import csv



x = np.array([1,2,3,4,5,6])
with open('Test 5.csv', 'r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',')
    rows = [row for row in plots]
y1=rows[0][2:]
y2=rows[1][2:]

plt.plot(x,y1, label='Washing Machine')
plt.plot(x,y2, label='Dishwasher')
plt.legend()
plt.show()
情节如下:


我能想到的唯一解决方案是反转轴或勾勒y轴的比例,但两者都不起作用

您的y值似乎都是字符串,这就是y轴出现故障的原因。在使用以下列表方式打印之前,将其转换为浮动

y1=rows[0][2:]
y2=rows[1][2:]

y1 = [float(i) for i in y1] # <--- convert to float
y2 = [float(i) for i in y2] # <--- convert to float

plt.plot(x,y1, label='Washing Machine')
plt.plot(x,y2, label='Dishwasher')
  • 正在尝试使用熊猫导入CSV文件

  • 您不必显式传递x=[1,2,3,…],默认情况下,x轴将采用这些标签

  • 示例代码:

    import pandas as pd
    df = pd.read_csv("Test 5.csv")
    print(df.columns)
    
    假设数据帧df有两列(洗衣机和洗碗机)。使用matplotlib打印这些列

    plt.plot(df.washing_machine.values, label='Washing Machine')
    plt.plot(df.dishwasher.values, label='Dishwasher')
    plt.legend()
    plt.show()
    
    希望,这有帮助。享受编码

    plt.plot(df.washing_machine.values, label='Washing Machine')
    plt.plot(df.dishwasher.values, label='Dishwasher')
    plt.legend()
    plt.show()