为了账号安全,请及时绑定邮箱和手机立即绑定

matplotlib字符串作为x轴上的标签

matplotlib字符串作为x轴上的标签

Helenr 2019-11-30 10:45:42
我正在构建一个用于数据分析的小工具,现在到了必须绘制准备好的数据的地步。之前的代码将产生以下两个长度相等的列表。t11 = ['00', '01', '02', '03', '04', '05', '10', '11', '12', '13', '14', '15', '20', '21', '22', '23', '24', '25', '30', '31', '32', '33', '34', '35', '40', '41', '42', '43', '44', '45', '50', '51', '52', '53', '54', '55']t12 = [173, 135, 141, 148, 140, 149, 152, 178, 135, 96, 109, 164, 137, 152, 172, 149, 93, 78, 116, 81, 149, 202, 172, 99, 134, 85, 104, 172, 177, 150, 130, 131, 111, 99, 143, 194]基于此,我想使用matplotlib.plt.hist建立一个直方图。但是,存在两个问题:1.对于所有x,都连接了t11 [x]和t12 [x]。其中t11 [x]实际上是一个字符串。它代表某种检测器组合。例如:'01'表示检测是在第一个检测器的第0段和第二个检测器的第一个段中进行的。我的目标是让t11中的每个条目都作为x轴上的标记点。t12条目将定义t11条目上方条形图的高点(在对数y轴上)如何配置这样的x轴?2.这对我来说是全新的。我在文档中找不到任何相关内容。最可能是因为我不知道要搜索什么。SO:我要实现的目标是否有“正式”名称。这也对我有很大帮助。
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

对于matplotlib的面向对象的API,可以使用以下代码在的x-ticks上绘制自定义文本axis:


x = np.arange(2,10,2)

y = x.copy()

x_ticks_labels = ['jan','feb','mar','apr','may']


fig, ax = plt.subplots(1,1) 

ax.plot(x,y)


# Set number of ticks for x-axis

ax.set_xticks(x)

# Set ticks labels for x-axis

ax.set_xticklabels(x_ticks_labels, rotation='vertical', fontsize=18)

//img1.sycdn.imooc.com//5de1d8010001eeca07200720.jpg

查看完整回答
反对 回复 2019-11-30
?
POPMUISE

TA贡献1765条经验 获得超5个赞

首先,您需要访问轴对象:


fig, ax = plt.subplots(1,1)

然后:


ax.set_yticks([x for x in range(-10,11)])

ax.set_yticklabels( ['{0:2d}'.format(abs(x)) for x in range(-10, 11)])


查看完整回答
反对 回复 2019-11-30
  • 3 回答
  • 0 关注
  • 3447 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信