matplotlib作图x坐标轴显示过于密集
# 分别绘制六个区内二手房售价——面积散点图df = lianjia.set_index(['region']) # 将new_data中的所在区这一列指定为索引
# 根据索引筛选出六个不同区的售价与面积数据
gulou = df.loc['鼓楼'][['total','unit','area']]
jiangning = df.loc['江宁'][['total','unit','area']]
pukou = df.loc['浦口'][['total','unit','area']]
jianye = df.loc['建邺'][['total','unit','area']]
qinhuai = df.loc['秦淮'][['total','unit','area']]
qixia = df.loc['栖霞'][['total','unit','area']]
# 绘制售价——面积散点图
fig,axes = plt.subplots(2,3)
sns.scatterplot(x='area',y='total',data=gulou,ax=axes)
sns.scatterplot(x='area',y='total',data=jiangning,ax=axes)
sns.scatterplot(x='area',y='total',data=pukou,ax=axes)
sns.scatterplot(x='area',y='total',data=jianye,ax=axes)
sns.scatterplot(x='area',y='total',data=qinhuai,ax=axes)
sns.scatterplot(x='area',y='total',data=qixia,ax=axes)
fig.suptitle('不同区内二手房售价—面积散点图') # 设置figure对象的标题
# 设置子图的坐标轴标签和标题
axes.set(xlabel='',ylabel='售价/万',title='鼓楼')
axes.set(xlabel='',ylabel='',title='江宁')
axes.set(xlabel='',ylabel='',title='浦口')
axes.set(xlabel='面积/平米',ylabel='售价/万',title='建邺')
axes.set(xlabel='面积/平米',ylabel='',title='秦淮')
axes.set(xlabel='面积/平米',ylabel='',title='栖霞')
plt.subplots_adjust(wspace=0.4,hspace=0.4)# 设置figure对象中子图的间距
plt.tight_layout()
plt.show() 不太懂,试试这个:https://www.jb51.net/article/163842.htm 用 ax.set_xticks() 即可,对 x序列值,设置合适的步距 (切片操作)
如,
# ax.set_xticks(x0[::2], )
# ax.set_xticks(x0[::10], )
ax.set_xticks(x0[::20],)
阿奇_o 发表于 2021-4-9 20:11
用 ax.set_xticks() 即可,对 x序列值,设置合适的步距 (切片操作)
如,
怎么把所有小图的x轴数值变成竖过来显示plt.xticks(rotation=90)只能把最后一个小图竖过来,还有其他五个图改不了 樊敬礼 发表于 2021-4-11 20:19
怎么把所有小图的x轴数值变成竖过来显示plt.xticks(rotation=90)只能把最后一个小图竖过来,还有其他五 ...
若 plt 没有便捷的统一设定方法,那就用每个子图的设置,如
ax.set_xticklabels(xticks_labels, rotation=90)
注:ax.set_xticklables() 该方法,要用在ax.set_xticks()方法之后才行
(先确定x值,然后才能对应设置其ticklabels)
页:
[1]