【发布时间】:2019-11-26 05:04:03
【问题描述】:
好的,所以我正在开发一个简单的程序,只需从文本垫中提取坐标,然后在图形上绘制文本垫中的内容。我认为这会很简单,但我对 matplotlib 很陌生,所以我仍然不完全理解。我正确完成了大部分代码,但唯一不起作用的是,当我将值放入图表时,它们都乱序了。我想对 xticks 和 yticks 进行排序,这样它实际上看起来就像您在数学中看到的真实折线图,因此您可以看到较低坐标如何低于较高坐标,反之亦然。这是我的代码:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
def split(word):
return list(word)
fileIWant = open('C:/Users/JustA/Desktop/Python Shenanigans/Converting Coordinates in a .txt to a Graph/Coordinates.txt', 'r');
stopwords = ['\n']
array = fileIWant.readlines()
array = [array.replace('\n', '') for array in array if array not in stopwords]
fileIWant.close()
editFile = open('C:/Users/JustA/Desktop/Python Shenanigans/Converting Coordinates in a .txt to a Graph/Coordinates.txt', 'w')
array_length = len(array)
x = []
y = []
for i in range(array_length):
dataSplit = array[i].split()
getCoordinateX = dataSplit[1]
getCoordinateY = dataSplit[3]
x.append(getCoordinateX)
y.append(getCoordinateY)
plt.scatter(x, y)
plt.plot(x, y) #Add this line in if you want to show lines.
plt.title('Your Coordinate Graph')
plt.xlabel('X Coordinates')
plt.ylabel('Y Coordinates')
#plt.xticks([-100,-80,-60,-40,-20,0,20,40,60,80,100])
#plt.yticks([-100,-80,-60,-40,-20,0,20,40,60,80,100])
plt.show()
editFile.close()
我注释掉了我为刻度添加的内容,因为它根本不起作用。将这些注释掉后,看起来还可以,但非常令人困惑。我认为它只是将它们按它们在 .txt 中的顺序排列,而我希望它们在代码中自行排序。这是它现在输出的内容:
对不起,如果这太简单了,以前从未有人问过,就像我说的那样,对 matplotlib 来说非常新,如果我必须使用它的话,是 numpy。我导入它是因为我认为我可能必须这样做,但我认为我还没有真正使用它。另外,我打算将坐标按顺序改写成图表,但我想我以后可以自己做。
【问题讨论】:
-
您忘记将字符串转换为数字。
标签: python arrays numpy matplotlib