Python的 matplotlib画图,怎么把子图的每个横坐标显示出来? 5

我只能显示最下面... 我只能显示最下面 展开
 我来答
cnf1980
2019-04-15 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:54%
帮助的人:2563万
展开全部

ax = subplots(nrows,ncols,sharex,sharey,squeeze,subplot_kw,gridspec_kw,**fig_kw)  

创建画布和子图。

nrowsncols表示将画布分割成几行几列 ,

sharexsharey表是共用xy轴的设置。

squeeze  bool

a.默认参数为True:额外的维度从返回的Axes(轴)对象中挤出,对于N*1或1*N个子图,返回一个1维数组,对于N*M,N>1和M>1返回一个2维数组。

b.为False,不进行挤压操作:返回一个元素为Axes实例的2维数组,即使它最终是1x1。

subplot_kw:字典类型,可选参数。把字典的关键字传递给add_subplot()来创建每个子图。

subplot_kw:字典类型,可选参数。把字典的关键字传递给add_subplot()来创建每个子图。

gridspec_kw:字典类型,可选参数。把字典的关键字传递给GridSpec构造函数创建子图放在网格里(grid)。

**fig_kw:把所有详细的关键字参数传给figure()函数。

可见你没有办法单独设置某个子图的ax的。

fahaihappy
2019-10-10
知道答主
回答量:18
采纳率:0%
帮助的人:3.2万
展开全部
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

fig = plt.figure(figsize=(20, 20), dpi=80)
ax1 = fig.add_subplot(2,2,1)

x = range(5)

y = [2, 2, 5, 2, 4]

s = ['数量1', '数量2', '数量3', '数量4', '数量5']
plt.bar(x, y, width=0.5)
plt.xticks(x, s, rotation=270)
plt.xlabel('数据情况' )
plt.ylabel('数量(个)')

for xl, yl in zip(x, y):
plt.text(xl, yl+0.3, str(yl), ha='center', va='bottom', fontsize=10.5)
ax2 = fig.add_subplot(2,2,2)

plt.bar(range(4), [3, 4,2,3], width=0.3)
ax3 = fig.add_subplot(2,2,3)
plt.bar(range(4), [3, 4,2,3], width=0.3)

ax4 = fig.add_subplot(2,2,4)
plt.bar(range(4), [3, 4,2,3], width=0.3)
plt.show()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kiorry
2017-05-24
知道答主
回答量:21
采纳率:50%
帮助的人:9.1万
展开全部
首先你得把代码放上来,别人才能回答呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liux578
2015-12-23
知道答主
回答量:2
采纳率:0%
帮助的人:2678
展开全部
我也表示想知道,你解决了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
df2312687161
2019-04-15 · 超过18用户采纳过TA的回答
知道答主
回答量:85
采纳率:16%
帮助的人:9.1万
展开全部
在python中使用matplotlib画图,默认横坐标都是由小到大(1,2,3,4,5),但我现在项目特殊需求,想让横坐标值由大到小逆序显示(5,4,3,2,1),如何实现呢?

import matplotlib.pyplot as plt

plt.figure()

ax1 = plt.subplot(121)

ax2 = plt.subplot(122)

xlist = [1,2,3,4,5]

ylist = [10,20,30,40,50]

plt.sca(ax1)

plt.title("Test X Label")

plt.xlabel("X")

plt.ylabel("Y")

plot1, = plt.plot(xlist,ylist,'ro')

plt.show()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式