怎样用python画图

2024-05-10

1. 怎样用python画图

思路:
1. 确定好需要画的图。
2. 创建一个画布,用来画你需要的图。
(1)画布大小,可以使用默认大小,也可以自定义画布大小。
(2)画布背景色bgcolor()。
(3)确定起点位置。
3. 画笔的设置。
(1)画笔的大小,颜色。
(2)画笔运行属性。
二、定义画布参数
import turtle as tt.screensize(width = None,heigh = None,bg = None)  #以像素为单位,参数分别为画布的宽,高,背景色t.screensize()  #返回默认大小(400,300)t.Screen()    #也是表示默认画布大小,注意S大写t.setup(w=0.5,h=0.75,startx=None,starty=None) #w,h为整数是表示像素,为小数时表示占据电脑屏幕的比例#startx,starty坐标表示矩形窗口左上角顶点的位置,默认为屏幕中心位置
三、定义画笔
1、画笔的状态
在画布上默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向),turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。
2、画笔的属性
画笔(画笔的属性,颜色、画线的宽度)
(1)turtle.pensize():设置画笔的宽度;
(2)turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green","red",也可以是RGB 3元组;
>>> pencolor('brown')>>> tup = (0.2, 0.8, 0.55)>>> pencolor(tup)>>> pencolor()'#33cc8c'
(3)turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。
相关推荐:《Python入门教程》
3、绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。
(1)画笔运动命令:

(2)画笔控制命令:

(3)全局控制命令:

四、命令详解
turtle.circle(radius, extent=None, steps=None)
描述:以给定半径画圆
参数:
radius(半径);半径为正(负),表示圆心在画笔的左边(右边)画圆;
extent(弧度) (optional);
steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps);
举例:
circle(50) # 整圆;circle(50,steps=3) # 三角形;circle(120, 180) # 半圆
五、绘图举例
(1)菱形太阳花
import turtle as t #turtle库是python的内部库,直接import使用即可def draw_diamond(turt):for i in range(1,3):turt.forward(100) #向前走100步
希望我的回答对你有帮助

怎样用python画图

2. 零基础适用:教你用Python画图

18分钟详解,教你用Python画图,或许还能画出汉字哦

3. 如何用python绘制各种图形

1.环境
系统:windows10
python版本:python3.6.1
使用的库:matplotlib,numpy
2.numpy库产生随机数几种方法
import numpy as npnumpy.random
rand(d0, d1, ..., dn)    
In [2]: x=np.random.rand(2,5)
In [3]: xOut[3]:array([[ 0.84286554,  0.50007593,  0.66500549,  0.97387807,  0.03993009],[ 0.46391661,  0.50717355,  0.21527461,  0.92692517,  0.2567891 ]])



randn(d0, d1, ..., dn)查询结果为标准正态分布

In [4]: x=np.random.randn(2,5)
In [5]: xOut[5]:array([[-0.77195196,  0.26651203, -0.35045793, -0.0210377 ,  0.89749635],[-0.20229338,  1.44852833, -0.10858996, -1.65034606, -0.39793635]])


randint(low,high,size)    
生成low到high之间(半开区间 [low, high)),size个数据
In [6]: x=np.random.randint(1,8,4)
In [7]: xOut[7]: array([4, 4, 2, 7])


random_integers(low,high,size)    
生成low到high之间(闭区间 [low, high)),size个数据
In [10]: x=np.random.random_integers(2,10,5)
In [11]: xOut[11]: array([7, 4, 5, 4, 2])


3.散点图
x x轴y y轴s   圆点面积c   颜色marker  圆点形状alpha   圆点透明度                #其他图也类似这种配置N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)x=np.random.randn(N)y=np.random.randn(N)plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)plt.show()

4.折线图
x=np.linspace(-10000,10000,100) #将-10到10等区间分成100份y=x**2+x**3+x**7plt.plot(x,y)plt.show()
折线图使用plot函数

5.条形图
N=5y=[20,10,30,25,15]y1=np.random.randint(10,50,5)x=np.random.randint(10,1000,N)index=np.arange(N)plt.bar(left=index,height=y,color='red',width=0.3)plt.bar(left=index+0.3,height=y1,color='black',width=0.3)plt.show()

orientation设置横向条形图
N=5y=[20,10,30,25,15]y1=np.random.randint(10,50,5)x=np.random.randint(10,1000,N)index=np.arange(N)# plt.bar(left=index,height=y,color='red',width=0.3)# plt.bar(left=index+0.3,height=y1,color='black',width=0.3)#plt.barh() 加了h就是横向的条形图,不用设置orientationplt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')plt.show()

6.直方图
m1=100sigma=20x=m1+sigma*np.random.randn(2000)plt.hist(x,bins=50,color="green",normed=True)plt.show()

# #双变量的直方图# #颜色越深频率越高# #研究双变量的联合分布#双变量的直方图#颜色越深频率越高#研究双变量的联合分布x=np.random.rand(1000)+2y=np.random.rand(1000)+3plt.hist2d(x,y,bins=40)plt.show()

7.饼状图
#设置x,y轴比例为1:1,从而达到一个正的圆#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影labes=['A','B','C','D']fracs=[15,30,45,10]explode=[0,0.1,0.05,0]#设置x,y轴比例为1:1,从而达到一个正的圆plt.axes(aspect=1)#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影plt.pie(x=fracs,labels=labes,autopct="%.0f%%",explode=explode,shadow=True)plt.show()

8.箱型图
import matplotlib.pyplot as pltimport numpy as npdata=np.random.normal(loc=0,scale=1,size=1000)#sym 点的形状,whis虚线的长度plt.boxplot(data,sym="o",whis=1.5)plt.show()#sym 点的形状,whis虚线的长度

如何用python绘制各种图形

4. python怎么画这个图?

记住一个中点,
然后移动 m 距离画一个圆
然后回中点,旋转角度在进行再移动 m 距离 画一个圆
就这样反复进行
记得旋转的角度必须是能被360整除的数,
角度越小,画就越密集

5. 如何用python画自画像

亲!您好,很高兴为您解答[开心]。亲如何用python画自画像方法如下:可以用Python代码绘制一个人像。turtle 是 python 内置的一个比较有趣味的模块,俗称海龟作图,它是基于 tkinter 模块打造,提供一些简单的绘图工具,可以用他画。一、如果按照正常的逻辑来说的话,python确实可以绘画任何人物和场景,但是相比于美术画画而言有很大的不同二、比如说我要画一个圆,输入的代码都需要几行,而且画出来之后给人的感觉始终没有画画出来的那样优美。而且颜色的千变万化你还需要记住所有的代码,还是很难的。三、画简单的图或场景可能需要的代码量会非常的大,那么需要程序员的技术要求就会非常的高,其实很多的程序员根本达不到所谓的画任何人物和场景,所以美术生是不能被python程序员代替的。希望我的回答能帮助到您[开心]!请问您还有其它问题需要咨询吗?【摘要】
如何用python画自画像【提问】
亲!您好,很高兴为您解答[开心]。亲如何用python画自画像方法如下:可以用Python代码绘制一个人像。turtle 是 python 内置的一个比较有趣味的模块,俗称海龟作图,它是基于 tkinter 模块打造,提供一些简单的绘图工具,可以用他画。一、如果按照正常的逻辑来说的话,python确实可以绘画任何人物和场景,但是相比于美术画画而言有很大的不同二、比如说我要画一个圆,输入的代码都需要几行,而且画出来之后给人的感觉始终没有画画出来的那样优美。而且颜色的千变万化你还需要记住所有的代码,还是很难的。三、画简单的图或场景可能需要的代码量会非常的大,那么需要程序员的技术要求就会非常的高,其实很多的程序员根本达不到所谓的画任何人物和场景,所以美术生是不能被python程序员代替的。希望我的回答能帮助到您[开心]!请问您还有其它问题需要咨询吗?【回答】

如何用python画自画像

6. Python Matplotlib画图

 主要用于作图、可视化问题
    pip install matplotlib 
   导入模块 pyplot 和 pylab ,可以参考下面链接观察两者区别:    https://www.cnblogs.com/Shoesy/p/6673947.html    (说白了就是pylay=pyplot+numpy)
   输入这三行解决
   主要使用 plot() 来展示,里面前两个参数代表 x , y 坐标(注意x,y数量要一样),第三个参数可以用来设置散点图( 'o' )或者颜色、线条形式等各种样式,并且第三个参数可以同时传入多个,比如要红色的散点图就: '0r'    (1)颜色样式:
   (2)线条样式:
   (3)点的样式:
   (4)坐标区间:
   或者分别设置x、y的区间:
    注:    设置点的样式时默认就是散点图,以及同类样式只能设置一个(比如不能设置两种颜色),并且还可以把多个图集合在一起展示,那就多 plot 几个,plot就相当于一个画布,每plot一个就相当于在上面画一张图,再弄就继续在上面画
   主要用 hist() 来显示,实现方式很简单,把一组数据放入括号里就行了,例如随机生成一堆正态分布的数,然后直方图显示:
   其中如果要设置直方图格式(宽度、上下限、是否要轮廓)可以这样:
    注:    直方图和折线图这些不太一样,折线图是传入两个等长数据,然后每个x、y坐标一一对应展示出来。而直方图是:第一个参数代表你传入的所有数据,第二个参数代表你传入的x轴范围,然后直方图会将第一个参数里传入的数据一个个计算在某个范围内含有的数据量,因此传入的两个参数数据不一定要等长,例如下面的例子:
   结果如图:
                                           可以看出数据被自动分配到对应的范围内上了
   使用 subplot(row, col, area) :三个参数分别是行数、列数和区域,比如要将原图分成2行2列(切成4份),然后要左下角那个图就:
   如果想4个图都显示就4个 subplot ,分别1、2、3、4就行了,然后在各图的subplot之后写的都是每个图的内容,现在我们试试弄一个2行,第一行两列的图片(想象下鼠标的样子),而且分别是不同的内容:
    注:     labels 、 sizes 、 colors 和 explode 的长度都要一样
   1.导入3D图相关模块:
   2.将画图板加到3D模块里,然后加入数据即可:
   3D散点图举例:
   通过 imread() 读取,举例:
    https://blog.csdn.net/qq_34859482/article/details/80617391