python下matplotlib、numpy、pandas联合作图逐步深入分析
1.代码1:
from pandas import Series,DataFrame
from numpy.random import randn
import numpy as np
import matplotlib.pyplot as plt #随机产生的数值,5组10行,每次打开图形都会变,所以没什么意义。
df = DataFrame(abs(randn(10,5)),columns=['A','B','C','D','E'],index = np.arange(0,100,10)) df.plot(kind='bar') plt.show()
2.图1
3.代码2:
from pandas import Series,DataFrame
#from numpy.random import randn #这一行就不需要了
import numpy as np
import matplotlib.pyplot as plt #修改一下,自己随意自定义一份5组10行的数据
dataz=[
[11,22,33,44,55],
[91,81,71,61,51],
[50,60,90,70,80],
[41,45,49,44,42],
[29,92,47,78,87],
[54,56,87,90,34],
[65,42,24,45,97],
[34,76,98,17,28],
[46,91,43,87,48],
[98,78,55,67,83],
] #注意data=dataz,其他不变,增加实际可用性
df = DataFrame(data=dataz,columns=['A','B','C','D','E'],index = np.arange(0,100,10)) df.plot(kind='bar') plt.show()
4.图2
5.还是感觉有点麻烦,万一自己有一份数据5组10行,要自己一行一行输入,太麻烦了。
如果是一份excel数据表格有5组10行,那么用python直接读取,并作图多好呀。
6.代码3:
#from pandas import Series,DataFrame
#pandas里面series是一维数组,dataframe是二维数组
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import xlrd #读取excel #df=pd.read_excel('dataz.xls') #假设有一个dataz.xlsx文件,在根目录下,没说表单那就是默认的sheet1
#如果一份excel的xls或者xlsx中只有sheet1有表格,那就不需要特别注意,默认即可
#如果一份excel中有表d1、d2和d3,那么输出d1需要如下设置
df=pd.read_excel('dataz.xls',sheet_name='d1') df.columns=['A','B','C','D','E']
df.plot(kind='bar') plt.show()
7.图3
8.注意excel数据格式,图4
9.注意上述代码所到处模块的不同,实用性很强。
10.在同一个excel中去第二张sheet的数据作图,中文。
10.1 图6
10.2 代码4:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import xlrd #读取excel from matplotlib.font_manager import FontProperties #导入字体管理器 font = FontProperties(fname='hwxk.ttf') #定义字体,以及字体和默认根目录hwxk=华文行楷 #df=pd.read_excel('dataz.xls') #假设有一个dataz.xlsx文件,在根目录下,没说表单那就是默认的sheet1
#如果一份excel的xls或者xlsx中只有sheet1有表格,那就不需要特别注意,默认即可
#如果一份excel中有表d1、d2和d3,那么输出d2需要如下设置
df=pd.read_excel('dataz.xls',sheet_name='d2') #附加知识
#data=df.head()#默认读取前5行的数据
#dataz=df.head(10)#默认读取前10行的数据
#print("读取指定行的数据:\n{0}".format(data)) #df.columns=['语文','数学','科学','英语','体育']
df.plot(kind='bar')
plt.title(u'成绩单',fontproperties=font,size=30)
#注意legend只能放在df.plot下面,否则出现两个图,且中文不能显示
#注意如果是英文,那么下面的plt.legend不需要,就需要df.columns就可以了
#注意legend里面的是prop=font,和上面的plt.title中不一样,注意这一点
#注意loc='best'就是最佳位置的意思
plt.legend((u'语文',u'数学',u'科学',u'英语',u'体育'),loc='best',prop = font) plt.show()
10.3 图5
python下matplotlib、numpy、pandas联合作图逐步深入分析的更多相关文章
- linux下安装numpy,pandas,scipy,matplotlib,scikit-learn
python在数据科学方面需要用到的库: a.Numpy:科学计算库.提供矩阵运算的库. b.Pandas:数据分析处理库 c.scipy:数值计算库.提供数值积分和常微分方程组求解算法.提供了一个非 ...
- python 安装anaconda, numpy, pandas, matplotlib 等
如果没安装anaconda,则这样安装这些库: pip install numpy pip install pandas pip install matplotlib sudo apt-get ins ...
- Python——数据分析,Numpy,Pandas,matplotlib
由于图片内容太多,请拖动至新标签页再查看
- 绘图 Matplotlib Numpy Pandas
丈夫气力全,一个拟当千.猛气冲心出,视死亦如眠. 绘图 Matplotlib可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法. 能将数据进行可视化,更直观的呈现使数据更 ...
- python模块之numpy,pandas基本用法
numpy: 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库简单来说:就是支持一维数组和多维数组的创建和操作,并有丰富的函数库. 直接看例子 ...
- python下matplotlib的subplot的多图显示位置的问题
1.说明 1.1 多图: 221,222 212 ------------附最后讲解,这下更清楚了吧,取个名字:颠倒一下--- 1.2 多图 211 223,224 ------------附最后讲解 ...
- Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包
联网情况下在命令终端CMD中输入“pip install numpy”即可自动安装,pandas和matplotlib同理一样方法进行自动安装. 工作的电脑不能上外网,所以不能通过直接输入pip命令来 ...
- python 数据分析工具之 numpy pandas matplotlib
作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...
- 常用统计分析python包开源学习代码 numpy pandas matplotlib
常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis
随机推荐
- Spring Boot源码(三):去除Tomcat
Spring boot中使用的是内置的Tomcat,而不像Spring mvc那样依赖外部tomcat运行项目. spring boot中导入了Tomcat的jar包: 点进一个Spring boot ...
- 转: OSIP协议栈使用入门
转自百度文库 很长时间之前,简单粗略地看了下Osip,eXosip,ortp等并快速“封装”了一个Windows下的基于VC6的MFC的SIP软电话(全部源代码VC6工程文件及Lib库可在本Blog共 ...
- [Err] 1248 - Every derived table must have its own alias
问题描述 [Err] 1248 - Every derived table must have its own alias 问题原因 这句话的意思是说每个派生出来的表都必须有一个自己的别名 我的Mys ...
- Qt多线程实现思路二
建立一个继承于Qobject的类myThread 在类myThread中定义线程处理函数不必是思路一里的run(); 在窗口类中开辟一个自定义线程myThread的指针对象myT = new myTh ...
- .NetCore学习笔记:三、基于AspectCore的AOP事务管理
AOP(面向切面编程),通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是函数式编程的一种衍生范型.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑 ...
- 18新生赛 4. Deal
题目描述:双十一过后,syx发现自己快要吃土了.但是机智的他决定理财.他预测了将来n天的比特币行情,发现有涨有跌,有跌有涨.手里的钱只要在比特币的浪潮中经历沉浮,低价收入,高价卖出,就可以轻易割到别人 ...
- mybatis一级缓存和二级缓存(二)
注意事项与示例配置 一级缓存 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言.所以在参数和SQL完全一样的情况下,我们使用 ...
- Learn from Niu
创新的源头来自于思考,尤其是深度思考: 1. 读博过程必然会经历痛苦,思考,深度思考这么一个过程,其中思考是最重要的,尤其是深度思考. 思考之后才是创新. 2. 借用其他的知识弥补这个领域的知识,不简 ...
- linux - 异常:安装包冲突 conflicts with
问题描述 解决方案 删除冲突的包 命令格式:yum -y remove 包名 yum -y remove httpd24u yum -y remove httpd24u-tools
- 开放系统互联(OSI)模型
开放系统互联(OSI)模型 是由国际标准化组织(ISO)于1984年提出的一种标准参考模型,是一种关于由不同供应商提供的不同设备和应用软件之间的网络通信的概念性框架结构.它被公认为是计算机通信和 in ...