将 x 轴刻度更改为自定义字符串
问题描述
我想将 x 轴刻度标签更改为自定义字符串,但以下不起作用.如何将刻度标签设置为 [one"、two"、three"]
?
I want to change the x-axis ticklabels to custom strings, but the following does not work. How can I set the ticklabels to ["one", "two", "three"]
?
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()
解决方案
我假设您只想将刻度设置为等于 ['one', 'two', 'three']
?
I assume you just want to set the ticks to be equal to ['one', 'two', 'three']
?
为此,您需要使用 set_xticks()
和 set_xticklabels()
:
To do this, you need to use set_xticks()
and set_xticklabels()
:
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()
下面是它的样子:
相关文章