Python的 matplotlib画图,怎么把子图的每个横坐标显示出来?
发布网友
发布时间:2022-04-23 08:53
我来回答
共5个回答
热心网友
时间:2022-04-18 03:46
ax = subplots(nrows,ncols,sharex,sharey,squeeze,subplot_kw,gridspec_kw,**fig_kw)
创建画布和子图。
nrows和ncols表示将画布分割成几行几列 ,
sharex和sharey表是共用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的。
热心网友
时间:2022-04-18 05:04
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()
热心网友
时间:2022-04-18 06:39
首先你得把代码放上来,别人才能回答呀
热心网友
时间:2022-04-18 08:30
我也表示想知道,你解决了吗
热心网友
时间:2022-04-18 10:38
在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()