【问题标题】:How to Order Coordinates in Matplotlib (xticks and yticks)如何在 Matplotlib 中排序坐标(xticks 和 yticks)
【发布时间】: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


【解决方案1】:

问题在于您的坐标是 字符串,这意味着 matplotlib 只是针对字符串(“分类”轴标签)绘制字符串。要修复,您只需将字符串转换为数字,例如x.append(int(getCoordinateX)).

请注意,您也不必将plt.scatter/plt.plot 放入循环中 - 您只需在整个数组中调用其中一个。这可能也会让事情变得更快。

【讨论】:

  • 哦,我知道这会很简单。谢谢!
猜你喜欢
  • 2021-07-08
  • 2019-11-29
  • 1970-01-01
  • 2018-08-22
  • 2020-04-21
  • 2021-08-09
  • 2023-03-09
  • 1970-01-01
  • 2019-04-06
相关资源
最近更新 更多