使用matplotlib在Python上的散点图上无法正确显示Y轴标签

时间:2019-05-08 04:13:17

标签: python plot label axis scatter

我正在尝试在Python上使用matlib包绘制一些数据。但是,当我尝试绘制一组数据然后设置y轴限制时,y轴上的标签未显示我想要的完整范围。实际上,它只显示写入数据的值。

我尝试更改y轴限制。我尝试用另一组数据绘制它,但标签似乎没有变化。当我使用具有80-100数据的温度Vec进行绘图时,它将显示整个轴范围从0、100。当我尝试绘制相对湿度矢量时,它将仅从以下数据的可用范围内绘制数据:大约在0-40。

with open('April_26.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter =',')
next(readCSV) #skips the first row which is the headers

#Initialize arrays
timeVec = []
tempVec = []
relHumidityVec = []

#loop through each row
for row in readCSV: #for each row in the CSV file
    ##Storing specific data
#Note: CSV data is in strings so convert the integers if they are to be 
treated as such
    time = int(row[0]) 
    temp = int(row[2])
    relHum =row[3]

#append to array
    timeVec.append(time/1000)
    tempVec.append(temp)
    relHumidityVec.append(relHum)

#initialize plot
fig, ax = plt.subplots()
#plt.scatter(timeVec, tempVec)
plt.scatter(timeVec, relHumidityVec, s = 4, marker = 'o', c = 'blue' , alpha = 0.4)
plt.scatter(timeVec, tempVec, s = 4, marker = 'o', c = 'red' , alpha = 0.4)
plt.ylim(0, 100)

我希望该图可以绘制我的两个图(温度与时间,相对湿度与时间),同时在0到100的y轴上绘制时间的整个范围和整个范围。

1 个答案:

答案 0 :(得分:0)

我发现了问题所在。这是因为通过读取.csv文件,所有值都是字符串类型。我的相对湿度矢量仍然是字符串类型,因此我只需要使用代码转换为int。

relHum = int(row[3])