Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.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 将x轴记号更改为自定义字符串_Python_Matplotlib_Pyqt5 - Fatal编程技术网

Python 将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

我想将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]
        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()