用python画图代码
Ⅰ 如何用python绘制简单条形图
如何用python绘制简单条形图呢?这里离不开matplotlib的使用。
条形图是数据可视化图形中很基础也很常用的一种图,简单解释下:条形图也叫长条图(英语:bar chart),亦称条图(英语:bar graph)、条状图、棒形图、柱状图、条形图表,是一种以长方形的长度为变量的统计图表。长条图用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。长条图亦可横向排列,或用多维方式表达。
那么一个普通的条形图是长什么样子的呢?
当!当!当!就是下图的这个样子:
图先亮出来啦,接下来研究这个图是怎么画的吧,先看一下原数据长什么样子:
实际画图的流程和画折线图很相近,只是用到的画图函数不一样,绘制条形图的函数plt.bar():
由于这只是最简单的一个条形图,实际上条形图的函数plt.bar()还有不少可以探索的参数设置,和对折线图函数plt.plot()的探索差不多,有兴趣的孩子可以自己去进行探索哦。
按照条形长短进行排序展示的条形图
当然也可以有其他的设置,比如说上图中的线条高低参差不齐,这是因为x轴的数据是按照学校名称进行排序的,那么可不可以按照分数的高低进行排序呢?也就是让所有的长方形按照从高到矮或者从矮到高的顺序进行排列?
当然可以啦!这里需要强调的是,条的高低排列等信息都是来源于原数据的,要想让条形的顺序发生改变,需要对画图的来源数据进行更改呢!
把原数据逆序排序后截取前十名数据赋值给data_yuwen,作为新的数据源传入画图函数plt.bar(),画出来的图自然就不一样了。
先看一眼数据长什么样子:
根据这个数据源绘制出的图形如下,由于用来画图的数据进行了降序排序操作,所以生成条形图的条也会进行降序排序展示:
很多时候,我们常见的条形图还有另一种展现形式,那就是横向的条形图,比较火的那种动态条形图绝大多数也都是横向的条形图,那么横向的条形图如何绘制呢?
理解plt.bar()主要参数
其实也不难,只要清楚plt.bar()函数中主要参数的作用就可以了!条形图函数中有五个主要参数,分别是x,height,width,bottom,orientation。其中x控制的是每个条在x轴上位置,height控制的是每个条的长度,width控制的是每个条的宽度,bottom控制的是每个条在y轴方向的起始位置,orientation控制的是条形的方向,是纵向还是横向,默认是纵向的。
通过一个小例子理解下这几个参数的作用:
上边的几行代码输出的图形如下:
对比着代码和实际输出的条形图,各个主要参数的作用是不是一目了然啦?
横向条形图
理解了这几个参数作用后,纵向的条形图转换成横向的条形图就没什么难度了!
需要设置所有条形在x轴的位置都为0,也就全部从最左侧开始画条形;由于是横向条形图,所以实际上条的宽度显示的是数据大小,将width参数设置成原数据中的语文成绩;bottom控制每个条在y轴方向的起始位置,设置bottom=range(10)设置每个条形在y轴的起始位置各不相同避免有条形重叠;height控制的是每个条在y轴方向上的长度,条形图横向设置后,在y轴上的长度失去了衡量数据的意义,所以直接设置一个常数即可;最后设置条形的方向为横向,即orientation=“horizontal”。
温馨提示:数据和标签一定要匹配,即plt.bar()重点的数据要和plt.yticks()中提取出来的标签一一对应,一旦不匹配,整个图展现的结果就是一个错误的结果!
上述代码生成的条形图如下:
感觉上边这种生成横向条形图的方式有点点绕,和人们的习惯认知有点不大一样,难道画一个横向条形图就非得转变自己的习惯认知这么反人类吗?
当然不是的,实际上有更简单的方法绘制一个横向条形图,之所以没有一开始就直接用这种简单的方法,也是为了让大家体会下条形图参数的灵活设置而已,而且如果比较绕的方法都能理解了,简单的方法理解和运用起来就更没有难度了啊!
不卖关子了,我们来认识下和plt.bar()函数类似的plt.barh()函数。
plt.barh()函数是专门绘制水平条形图的函数,主要的参数有:
y 控制y轴显示的标签来源width 控制横向条形的长度,即用来进行对比的数据源height 条形的宽度需要设置的参数主要就是这三个,比用plt.bar()函数绘制水平条形图简单了很多,具体代码如下:
效果图:
和用plt.bar()函数绘制的横向条形图一毛一样对不对?以后有需求绘制横向条形图,尽量用plt.barh()函数吧,毕竟它是专门绘制这种类型图的,简单好用。
然而实际工作中对于条形图的需求不只是这些,比如例子中只是对各个学校语文成绩的展示,有时候需要各个学科的成绩同时展现在一幅条形图中,有时候也需要绘制堆积条形图对各学科的成绩以及总成绩进行展示,这些图又该如何绘制呢?其实只要理解了各个参数的含义,绘制这些图也不在话下,至于具体怎么画,且看下回分解啊!
Ⅱ Python如何运用matplotlib库绘制3D图形
3D图形在数据分析、数据建模、图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制,包括3D散点、3D表面、3D轮廓、3D直线(曲线)以及3D文字等的绘制。
准备工作:
python中绘制3D图形,依旧使用常用的绘图模块matplotlib,但需要安装mpl_toolkits工具包,安装方法如下:windows命令行进入到python安装目录下的Scripts文件夹下,执行: pip install --upgrade matplotlib即可;linux环境下直接执行该命令。
安装好这个模块后,即可调用mpl_tookits下的mplot3d类进行3D图形的绘制。
下面以实例进行说明。
1、3D表面形状的绘制
这段代码是绘制一个3D的椭球表面,结果如下:
2、3D直线(曲线)的绘制
这段代码用于绘制一个螺旋状3D曲线,结果如下:
3、绘制3D轮廓
绘制结果如下:
相关推荐:《Python视频教程》
4、绘制3D直方图
绘制结果如下:
5、绘制3D网状线
绘制结果如下:
6、绘制3D三角面片图
绘制结果如下:
7、绘制3D散点图
绘制结果如下:
Ⅲ python怎么画折线图
一、环境准备
linux ubuntu 下需安装下面三个包:
Numpy, Scipy,Matplotlib
分别输入下面的代码进行安装:
[plain]view plain
pipinstallnumpy
pipinstallscipy
sudoapt-getinstallpython-matplotlib
python
>>>importpylab
importnumpyasnp
importmatplotlib.pyplotasplt
x=[0,1]
y=[0,1]
plt.figure()
plt.plot(x,y)
plt.savefig("easyplot.jpg")
测试是否安装成功
[html]view plain
如果没有报错则安装成功
二、开始画图
1. 画最简单的直线图
代码如下:
[python]view plain
结果如下:
Ⅳ Python作图程序
实战小程序:画出y=x^3的散点图
样例代码如下:
[python]view plain
#coding=utf-8
importpylabasy#引入pylab模块
x=y.np.linspace(-10,10,100)#设置x横坐标范围和点数
y.plot(x,x*x*x,'or')#生成图像
ax=y.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
ax.set_yticks([-1000,-500,500,1000])
y.xlim(x.min(),x.max())#将横坐标设置为x的最大值和最小值
y.show()#显示图像
importpylabasy
- 程序中引入的pylab属于matplotlib的一个模块,将其名字用y代替,其中包括了许多NumPy和pyplot模块中常用的函数,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中使用。
y.np.linspace(-10,10,100)
- 此为numpy中的一个函数,返回的是等间距的值,numpy.linspace(a,b,c):a指的是开始位置,b表示的是结束位置,c表示产生点的个数(默认为50)
>>>np.linspace(2.0,3.0,num=5)
array([2.,2.25,2.5,2.75,3.])
y.plot(x,x*x*x,'or')#生成图像
- 后面加上‘o'表示为散点图
y.xlim(x.min(),x.max())
- 这条语句使用了xlim函数,将横坐标设置为x的大小
[python]view plain
[python]view plain
举例:
[python]view plain
[python]view plain
'r'可设置颜色为红色,基本上和matlab的操作很像。
[python]view plain
Ⅳ 如何用python画冰墩墩
随着北京冬奥会的开幕,吉祥物“ 冰墩墩”可是火出了圈,销售“ 冰墩墩”的店铺排起了长龙,用python可以绘画冰墩墩吗?当然是可以的。很多小伙伴在求python代码,下面就是源码啦,大家赶紧用python实现冰墩墩吧,彻底实现一人一墩。
一、python实现冰墩墩步骤:
1、安装python环境;
2、在桌面创建文本文件,将下面的代码复制粘贴进去;
3、将创建文件的格式修改为.py
4、双击运行就可以啦!
二、python实现冰墩墩源代码:
importturtle
turtle.title('Python(冰墩墩)')
turtle.speed(40)#可以自己调节速度
#左手
turtle.penup()
turtle.goto(177,112)
turtle.pencolor("lightgray")
turtle.pensize(3)
turtle.fillcolor("white")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(80)
turtle.circle(-45,200)
turtle.circle(-300,23)
turtle.end_fill()
#左手内
turtle.penup()
turtle.goto(182,95)
turtle.pencolor("black")
更多源码点击下方链接查看
python画冰墩墩源代码
Ⅵ python画同心圆并填充颜色
用海龟画图,代码如下:
import turtle
my_colors=('red','green','yellow','blue','black')
t=turtle.Pen()
for i in range(5):
t.penup()
t.goto(0,-i*10)
t.pendown()
t.color(my_colors[i%len(my_colors)])
t.circle(15+i*10)'''t.goto(0,0)
turtle.done()#程序执行完,窗口仍然在
Ⅶ 如何采用Python语言绘制一条彩色的蟒蛇
采用的是Python shell来实现的,也就是大家所说的IDLE插件。
END
2.建立脚本
1
单击shell界面上面工具栏中的“file”-“new file”。
2
如下图所示,我们建立了一个脚本文件。
END
3.保存文件
1
单击脚本文件上侧的“file”-“save”,来实现对文件的保存。
2
选定上述命令后,会出现一个保存设置界面,将我们的脚本保存到相应的位置,并给其命名,然后,单击“保存”,完成文件保存。
END
4.编写代码
1
1.脚本结构
根据需求,本例需要建立两个函数一个是main()函数,一个是drawSnake函数。
2
2.编写drawSnake:
该函数数用来实现画蛇的具体操作,主要涉及到到画图的方法;对于该函数,我们首先得确定画蛇的基本策略,该函数中用到了很多的turtle包中的子函数,具体可参见该包的帮助文档,这里贴出代码:
def drawSnake(rad,angle,len,neckrad):
mycolor=["black","red","red","blue","yellow"]
yocolor=["yellow","green","yellow","red","red"]
for i in range(len):
turtle.pencolor(mycolor[i])
turtle.circle(rad,angle)
turtle.pencolor(yocolor[i])
turtle.circle(-rad,angle)
turtle.pencolor("green")
turtle.circle(rad,angle/2)
turtle.pencolor("yellow")
turtle.fd(rad)
turtle.pencolor("red")
turtle.circle(neckrad+1,180)
turtle.pencolor("green")
turtle.fd(rad*2/3)
3
3.编写main函数:
代码贴出如下,具体代码意思可参见turtle的帮助文档:
def main():
turtle.setup(1300,800,0,0)
pythonsize=30
turtle.pensize(pythonsize)
turtle.seth(-40)
drawSnake(40,80,5,pythonsize/2)
4
4.执行main:
与其它不同的是我们需要在最后,将我们所定义的代码进行执行,不然就是空的。就是图中的main()
END
5.编译运行
单击脚本界面上的“run”-“run mole”,就可以运行我们的画图程序了。
执行效果,如下,虽然看起来有点不好看,但它把我们的真个执行过程给展现出来了。
Ⅷ Python如何画cos和sin的图啊
import
numpy
as
np
import
matplotlib.pyplot
as
plt
#从-π到π取201个变量(取得多点线就圆滑一点,这是源码写的例子201不知道有啥特殊之处,反正取100也行)
x
=
np.linspace(-np.pi,
np.pi,
201)
#计算201个变量对应的值连成线
plt.plot(x,
np.sin(x))
plt.plot(x,
np.cos(x))
#将画成的图显示出来
plt.show()
大概就是这个意思,有错误的还请指教
Ⅸ 为什么用python画图总是偏右画
python沿画笔的方向画线用forward()函数。
forward()函数能使画笔前进,比如沿画笔方向画100像素的直线,代码如下所示:turtle.forward(100)。
Ⅹ 用python代码绘图
python中subplot的用法
subplot是python中子图的绘制,这里主要介绍如何排布子图与极坐标图的绘制。
具体用法,需要搜索网上内容,再结合自己的情况修改参数即可。