会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 128778个问题
Python 全系列/第十八阶段:数据分析-数据可视化/matplotlib(23旧) 2楼
Python 全系列/第十八阶段:数据分析-数据可视化/matplotlib(23旧) 3楼
Python 全系列/第十八阶段:数据分析-数据可视化/Anaconda环境搭建 4楼
Python 全系列/第十八阶段:数据分析-数据可视化/seaborn 5楼

代码:

from matplotlib import pyplot as plt
fig,axs=plt.subplots(2,2,figsize=(7,7))
people=[45, 48, 37, 47, 38, 41, 39, 37, 44, 44, 37, 35, 38, 46, 33, 35, 37, 36, 34, 38, 33, 33, 40, 37, 38]
bin_width=2
bin_count=int(max(people)-min(people)/bin_width)
x_ticks=range(31,52)
axs[0,0].xaxis.set_ticks(x_ticks)
axs[0,0].hist(people,bin_count)
real_names=["detection","allen","home"]
real_num1=[8414,4024,2088]
real_num2=[11526,5605,2490]
real_num3=[7675,2863,1311]
x_pos1=range (3)
x_pos2=[i+0.3 for i in x_pos1]
x_pos3=[i+2*0.3 for i in x_pos1]
axs[1,0].xaxis.set_ticks(x_pos2)
# axs[1,0].set_xticks(x_pos2)
# axs[1,0].set_xticklabels(x_pos2,real_names)
# plt.xticks(x_pos1,real_names)
# plt.xticks(x_pos2,real_names)
# plt.xticks(x_pos3,real_names)
# plt.xticks(x_pos2,real_names)
axs[1,0].bar(x_pos1,real_num1,width=0.3,label="dection")
axs[1,0].bar(x_pos2,real_num2,width=0.3,label="allen")
axs[1,0].bar(x_pos3,real_num3,width=0.3,label="home")
axs[1,0].legend(loc="upper right")
x=range(1,13)
x_ticks=range(1,13)
b=[]
for i in x:
    y=2*i+1
    b.append(y)
axs[1,1].xaxis.set_ticks(x)
axs[1,1].scatter(x,b)
# plt.show()
plt.show()
# plt.show()

屏幕截图 2021-04-06 123941.png

运行结果:

屏幕截图 2021-04-06 124029.png

老师请问一下,在绘制子图的时候怎么样对柱图的横坐标进行修改,把横坐标修改成real_names列表中的内容,就像

plt.xticks(x_pos2,real_names)

一样,我网上查了一下说可以使用

axs[1,0].xaxis.set_ticks(x_pos2)

但是这种方法只可以修改x轴的间距,没办法指定每个间隔显示的文本,请问老师这该如何解决?

Python 全系列/第十八阶段:数据分析-数据可视化/matplotlib 6楼
Python 全系列/第十八阶段:数据分析-数据可视化/seaborn 7楼
Python 全系列/第十八阶段:数据分析-数据可视化/matplotlib 8楼
Python 全系列/第十八阶段:数据分析-数据可视化/seaborn 11楼
Python 全系列/第十八阶段:数据分析-数据可视化/matplotlib(23旧) 13楼
Python 全系列/第十八阶段:数据分析-数据可视化/Anaconda环境搭建 15楼

百战程序员微信公众号

百战程序员微信小程序

©2014-2024 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637