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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的 matplotlib画图,怎么把子图的每个横坐标显示出来?相关的知识,希望对你有一定的参考价值。

我只能显示最下面

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的。

参考技术A 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()
参考技术B 首先你得把代码放上来,别人才能回答呀 参考技术C 我也表示想知道,你解决了吗 参考技术D 在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()

python matplotlib怎么用

参考技术A 使用python的包matplotlib来画图
浏览:255
|
更新:
2015-10-24 22:10
1
2
3
4
5
6
7
分步阅读
python中的matplotlib可以很快的帮助我们作出图,
为此我们给出matplotlib的安装步骤和一个小例子来展示其功能
工具/原料
python3.4
numpy包
matplotlib包
依赖包:pyparsing、dateutil、scipy
方法/步骤
python安装(之前写过一篇关于python的安装,这里不重复介绍)
(1) 如何下载?百度---> Python官网
(2) 版本:python-3.4.3.amd64 exe文件直接点哦
(3) 目录:D:\Python34
为python配置了环境变量:D:\Python34\Scripts;D:\Python34
(4) 命令行输入:python 有反应表示成功
说明:matplotlib还没有匹配python3.5的版本,我的电脑为64位
0Python安装学习指南
软件包下载:
因为涉及到众多包的下载,以及其中的版本和电脑位数问题特介绍如下( 注意加粗的字体):
(1) numpy numpy-1.10.1+mkl-cp34-none-win_amd64.whl
(2) matplotlib matplotlib-1.4.3.win-amd64-py3.4b/matplotlib-1.4.3/windows/
(3) 依赖包:pyparsing、dateutil、scipy

声明:以上软件地址可自行百度搜索
附注:图一为matplotlib 、图二为numpy 下载界面的选择

软件包numpy的安装:
1 命令行输入【完整的路径=numpy 在你电脑的绝对路径】
pip install 完整的路径\numpy -1.10.1+mkl-cp34-none-win_amd64.
2 验证:python编辑下 python>>
from numpy import *

安装matplotlib:
matplotlib-1.4.3.win-amd64-py3.4
因为下载的是exe文件,点击一路执行即可

依赖包的安装:
在命令行里逐行输入如下命令:软件包的绝对路径
1 pip install 绝对路径\pyparsing-2.0.3-py3-none-any.whl
2 pip install 绝对路径\python_dateutil-2.4.2-py2.py3-none-any.whl
3 pip install 绝对路径\matplotlib依赖\scipy-0.16.0-cp34-none-win_amd64.whl

验证是否安装成功:
1 在python编辑状态下导入安装的包:
import matplotlib
import numpy
import scipy
import pyparsing
import matplotlib.pyplot as plt
2 如果缺少six
在安装完毕scipy之后把../Python34/Lib/site-packages/scipy/lib中的six.py six.pyc six.pyo三个文件拷贝到.../Python34/Lib/site-packages
案例1:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4, 5]
y = [0.1, 0.2, 0.2, 0.3, 0.2, 0.1]
y2 = [0.2, 0.2, 0.3, 0.2, 0.3, 0]
plt.plot(x, y, 'b', x, y2, 'g')
plt.show()

案例2:
import matplotlib.pyplot as plt
import math
x=[]
y=[]
num=0.0
while num < math.pi * 4:
y.append(math.sin(num))
x.append(num)
num += 0.1
plt.plot(x, y, 'b')
plt.show()

如果

以上是关于Python的 matplotlib画图,怎么把子图的每个横坐标显示出来?的主要内容,如果未能解决你的问题,请参考以下文章

Python Matplotlib画图

python matplotlib怎么用

python:matplotlib画图入门

python中matplotlib画图

python 怎么画图

Python Matplotlib 画图显示中文