所以我尝试使用 Axes 对象来控制我的 matlibplot 图。我没有使用 plt (又名 import matlibplot.pyplot as plt),因为我将图形嵌入到我的 tkinter GUI per this
但是,我还在图中使用了子图,所以类似:
a = f.add_subplot(121)
a2 = f.add_subplot(122)
a.plot(fn2,mag)
a2.bar(range(0,10), magBin, width)
这一切都很好,我可以使用坐标区属性来控制事物(即
a.axesMethod()
),但我想要我的条形图的字符串标签,per
this
,请参阅
代码
.
我的困境是我不能使用
plt.xticks(ind+width, ('G1', 'G2', 'G3', 'G4', 'G5') )
如示例中所示,因为如果我想将它嵌入到我的 Tkinter GUI 中,我就不能使用
plt
我只能使用 Axes 对象做一些事情。我正在尝试使用
a2.set_xticks
,但这不允许使用条形图所需的字符串作为刻度功能。
你可以使用
Axes
对象的
set_xticklabels()
方法将字符串标签应用于你的条形图。
以下是更新后的代码:
a = f.add_subplot(121)
a2 = f.add_subplot(122)
a.plot(fn2,mag)
a2.bar(range(0,10), magBin, width)
# 为条形图设置刻度位置和标签
a2.set_xticks(ind + width / 2)
a2.set_xticklabels(('G1', 'G2', 'G3', 'G4', 'G5'))
这段代码执行以下操作:
-
创建条形图:
这与你现有的代码相同,使用
a2.bar()
创建条形图。 -
设置刻度位置:
a2.set_xticks(ind + width / 2)
设置刻度的位置。使用ind + width / 2
使刻度位于每个条形的中心。 -
设置刻度标签:
a2.set_xticklabels(('G1', 'G2', 'G3', 'G4', 'G5'))
将字符串元组设置为刻度标签。这将用你提供的字符串替换数字刻度。
通过组合使用
set_xticks
和
set_xticklabels
,你可以在不依赖
plt
的情况下在使用
Axes
对象时实现所需的字符串刻度标签。