Python 将x轴记号更改为自定义字符串
我想将x轴标签更改为自定义字符串Python 将x轴记号更改为自定义字符串,python,matplotlib,pyqt5,Python,Matplotlib,Pyqt5,我想将x轴标签更改为自定义字符串 from PyQt5.QtWidgets import * from PyQt5.QtGui import * import matplotlib.pyplot as plt def pushButtonClicked(self): code = self.lineEdit.text() x=["one","two","three"] l=[1,2,3] y=[2,3,4] a
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import matplotlib.pyplot as plt
def pushButtonClicked(self):
code = self.lineEdit.text()
x=["one","two","three"]
l=[1,2,3]
y=[2,3,4]
ax = self.fig.add_subplot(111)
print(1)
ax.plot(l, y, label='DeadPopulation')
ax.xticks(l,x)
print(IntroUI.g_sortArrayDeadcnt)
ax.legend(loc='upper right')
ax.grid()
self.canvas.draw()
尽管搜索了很多网站,找到了很多代码示例,但我还是无法解决这个问题。我的代码有什么问题 我假设您只想将刻度设置为等于
['1','2','3']
为此,您需要使用setxticks()
和setxticklabels()
:
最小示例
下面是它的样子:
将帖子标题改为“如何在Pyqt matplotlib.plot中应用字符串类型”@Raj Damani,我现在就解决了这个问题。原因是,我没有使用函数“setxticks”。非常感谢。
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import matplotlib.pyplot as plt
def pushButtonClicked(self):
code = self.lineEdit.text()
x=["one","two","three"]
l=[1,2,3]
y=[2,3,4]
ax = self.fig.add_subplot(111)
print(1)
ax.plot(l, y, label='DeadPopulation')
# Set the tick positions
ax.set_xticks(l)
# Set the tick labels
ax.set_xticklabels(x)
print(IntroUI.g_sortArrayDeadcnt)
ax.legend(loc='upper right')
ax.grid()
self.canvas.draw()
import matplotlib.pyplot as plt
f, ax = plt.subplots()
x = ['one', 'two', 'three']
l = [1, 2, 3]
y = [2, 3, 4]
ax.plot(l,y)
ax.set_xticks(l)
ax.set_xticklabels(x)
plt.show()