python使用matplotlib画图
python使用matplotlib画图
matplotlib库是python最著名的画图库。它提供了一整套和matlab类似的命令API。十分适合交互式地进行制图。
先介绍了怎样使用matplotlib进行柱状图的绘制
使用matplotlib进行柱状图的绘制仅仅须要三个步骤
第一:导入matplotlib包
第二:调用bar函数进行设置
第三:调用show( )将其显示就可以
当中bar函数提供了很多參数,比如left、height、width、label、yerr等等,以下进行一一说明;
left:柱形的左边缘的位置
height:柱形的高度
width:柱形的宽度
label:标注
(1)调用bar函数时,使用left、height属性
import matplotlib.pyplot as plt
#left:柱形的左边缘的位置,我们指定为0.3。那么当前柱形的左边缘的x值就是0.3
#height:柱形的高度。也就是y轴的值了
plt.bar(left=0.3,height=1)
plt.show()
(2)调用bar函数时,使用left、height、width属性
import matplotlib.pyplot as plt
#除了能够设置左边界。高度,还能够设置宽度width
plt.bar(left=0.3,height=2,width=2)
plt.show()
(3)调用bar函数时,left、height、width属性能够设置多个值。但必须长度一致
import matplotlib.pyplot as plt
#left、height、width能够设置多个值,可是,这三个的长度假设要设置的话,必须长度要一致
plt.bar(left=(0.2,1),height=(2,1),width=(0.2,0.5))
#plt.bar(left=(0.2,1,2),height=(2,1),width=(0.2,0.5))报错,长度不一致
plt.show()
(4)以下是对图形进行一些表示:比如x轴、y轴的含义、标题、说明等
import matplotlib.pyplot as plt
#plt.xlabel(u'性别') #中文不能显示,会乱码
plt.xlabel('sex')
plt.ylabel('num')
plt.xticks((0.2,1),('male','female'))#为每一个bar进行说明,前面的位置。后面的对应位置的说明
##plt.xticks的使用方法和我们前面说到的left,height的使用方法差点儿相同。\
##假设你有几个bar,那么就是几维的元组。第一个是文字的位置,第二个是详细的文字说明。
##只是这里有个问题,非常显然我们指定的位置有些“偏移”。最理想的状态应该在每一个矩形的中间。
##你能够更改(0,1)=>( (0.2+0.2)/2 ,(1+0.5)/2 )只是这样比較麻烦。
#我们能够通过直接指定bar方法里面的align="center"就能够让文字居中了。
plt.bar(left=(0.2,1),height=(2,1),width=(0.2,0.5),align='center',label="wu",xerr=0.0000,yerr=0.000001)#yerr能够使得顶部留有一定的空间
plt.title('wojiushimogui') #标题
plt.legend(loc = 'upper right')#图例
plt.show()
此库中的plot( )函数,与matlab中的plot函数基本一样
matplotlib.pyplot.plot(*args, **kwargs)
參数的说明:args is a variable length argument, allowing for multiple x, y pairs with an optional format string. (意思是:參数是一个可变长度參数,同意多个x,y对与一个可选的格式字符串。)
For example, each of the following is legal:
plot(x, y) # plot x and y using default line style and color
plot(x, y, ‘bo’) # plot x and y using blue circle markers
plot(y) # plot y using x as index array 0..N-1
plot(y, ‘r+’) # ditto, but with red plusses
看一个简单的样例
import matplotlib.pyplot as plt
L=[x*x for x in range (100)]
for i in range(100):
plt.plot(i,L[i],'bo')
plt.show()
实际上遇到的源码作为样例贴上:用到的就是上面plot函数的一个简单的使用方法。
# show your cluster only available with 2-D data
#centroids为k个类别。当中保存着每一个类别的质心
#clusterAssment为样本的标记,第一列为此样本的类别号。第二列为到此类别质心的距离
def showCluster(dataSet, k, centroids, clusterAssment):
numSamples, dim = dataSet.shape
if dim != 2:
print ("Sorry! I can not draw because the dimension of your data is not 2!")
return 1
mark = ['or', 'ob', 'og', 'ok', '^r', '+r', 'sr', 'dr', '<r', 'pr']
if k > len(mark):
print ("Sorry! Your k is too large! please contact wojiushimogui")
return 1
# draw all samples
for i in range(numSamples):
markIndex = int(clusterAssment[i, 0]) #为样本指定颜色
plt.plot(dataSet[i, 0], dataSet[i, 1], mark[markIndex])
mark = ['Dr', 'Db', 'Dg', 'Dk', '^b', '+b', 'sb', 'db', '<b', 'pb']
# draw the centroids
for i in range(k): #画每一个类的质心点
plt.plot(centroids[i, 0], centroids[i, 1], mark[i], markersize = 12)
plt.show()
參考资料:http://www.cnblogs.com/qianlifeng/archive/2012/02/13/2350086.html
python使用matplotlib画图的更多相关文章
- python使用matplotlib画图,jieba分词、词云、selenuium、图片、音频、视频、文字识别、人脸识别
一.使用matplotlib画图 关注公众号"轻松学编程"了解更多. 使用matplotlib画柱形图 import matplotlib from matplotlib impo ...
- pylab.show()没有显示图形图像(python的matplotlib画图包)
no display name and no $DISPLAY environment variable ============================ @Neil's answer is ...
- Python之matplotlib画图
折线图: Matplotlib处理csv文件 这里写两个其他的. 柱状图,柱状图个人喜欢用pygal来画,有两篇文章 - Pygal之掷骰子 和 pygal之掷骰子 - 2颗面数为6的骰子.下面用ma ...
- python中matplotlib画图
参考 https://blog.csdn.net/u010358304/article/details/78906768 https://www.cnblogs.com/onemorepoint/p/ ...
- python matplotlib画图产生的Type 3 fonts字体没有嵌入问题
ScholarOne's 对python matplotlib画图产生的Type 3 fonts字体不兼容,更改措施: 在程序中添加如下语句 import matplotlib matplotlib. ...
- 使用python中的matplotlib 画图,show后关闭窗口,继续运行命令
使用python中的matplotlib 画图,show后关闭窗口,继续运行命令 在用python中的matplotlib 画图时,show()函数总是要放在最后,且它阻止命令继续往下运行,直到1.0 ...
- 如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline
如何在Python中快速画图--使用Jupyter notebook的魔法函数(magic function)matplotlib inline 先展示一段相关的代码: #we test the ac ...
- python 利用matplotlib中imshow()函数绘图
matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
随机推荐
- 42.cnpm不是内部命令的解决方案:配置环境变量
转自:https://blog.csdn.net/u014540814/article/details/78777961
- Kinect 开发 —— 骨骼追踪
骨骼追踪技术通过处理景深数据来建立人体各个关节的坐标,骨骼追踪能够确定人体的各个部分,如那部分是手,头部,以及身体.骨骼追踪产生X,Y,Z数据来确定这些骨骼点.骨骼追踪系统采用的景深图像处理技术使用更 ...
- DG性能
网络带宽 根据primary database redo产生的速率,计算传输redo需要的带宽. 出去tcp/ip网络其余30%的开销,计算需要的带宽公式: 需求带宽=((每秒产生redo的速率峰值/ ...
- shell项目-分发系统-构建文件分发系统
shell项目-分发系统-构建文件分发系统 需求背景对于大公司而言,肯定时不时会有网站或者配置文件更新,而且使用的机器肯定也是好多台,少则几台,多则几十甚至上百台.所以,自动同步文件是至关重要的. 实 ...
- shutdown---系统关机
shutdown命令用来系统关机命令.shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作. 语法 shutdown(选项)(参数) 选项 -c:当执行“shutdown - ...
- 一个简单RPC框架是怎样炼成的(II)——制定RPC消息
开局篇我们说了,RPC框架的四个核心内容 RPC数据的传输. RPC消息 协议 RPC服务注冊 RPC消息处理 以下,我们先看一个普通的过程调用 class Client(object): def _ ...
- natapp解决Invalid Host header的问题
最近在做一个微信公众号项目,用微信开发工具调试本地项目,需要做一下内网穿透,代理都配置好了,页面出现这个Invalid Host header错误,内网穿透工具我是用的frps做的,最后通过googl ...
- BZOJ2118: 墨墨的等式(最短路构造/同余最短路)
Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求出有多少B可以使等式存在 ...
- selenium+python自动化处理时间控件
尝试编写12306网站查询余票信息的自动化脚本时,碰到日期选择的问题,此处做一下记录:
- C#创建子线程,子线程使用委托更新控件
一.背景 由于在窗体程序中通过点击一个button按键后需要更新TreeView控件的内容,由于等待时间比较长,主程序无法一起在那边等待,需要去处理其它的事情,所以就需要创建新的子线程来处理.因为主线 ...