Ⅰ 怎样用python画图
思路:
1. 确定好需要画的图。
2. 创建一个画布,用来画你需要的图。
(1)画布大小,可以使用默认大小,也可以自定义画布大小。
(2)画布背景色bgcolor()。
(3)确定起点位置。
3. 画笔的设置。
(1)画笔的大小,颜色。
(2)画笔运行属性。
二、定义画布参数
importturtleast
t.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)画笔运动命令:
(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)菱形太阳花
importturtleast#turtle库是python的内部库,直接import使用即可
defdraw_diamond(turt):
foriinrange(1,3):
turt.forward(100)#向前走100步
希望我的回答对你有帮助
Ⅱ python画网络图的问题
可以用python的一个包networkx,在这里下载http://pypi.python.org/pypi/networkx/#downloads
安装后,在python shell 里可以编写如下代码:
import networkx as nx
G=nx.Graph()
G.add_node("spam")
G.add_edge(1,2)
print(G.nodes())[1, 2, 'spam']
print(G.edges())[(1, 2)]
然后按F5执行,即可看到上面的图。
Ⅲ python按钮如何连接到绘画图窗
第一,启动Python自带的集中开发环境IDLE,然后点击File-->New File,并在脚本框中输入如下代码,用于创建窗口和按钮。
from tkinter import * # 从tkinter库中导入所有函数
window1=Tk() # 创建一个窗口
window1.title('test1') # 设置窗口标题
window1.geometry('500x500+100+100') # 设置窗口大小x和左顶距离+
def Jason(): # 创建一个函数
print('Come on,baby')
button1=Button(window1,text='点我啊',command=Jason) # 设置按钮属性
button1.pack() # 设置显示按钮
window1.mainloop() # 设置窗口循环显示
Python创建窗口按钮和绘制画布直线
第二,保存和运行上述脚本,得到如下窗口和窗口中的按钮“点我啊”。
Python创建窗口按钮和绘制画布直线
第三,点击“点我啊”按钮,会在IDLE中显示“Come on, baby”.
Python创建窗口按钮和绘制画布直线
第四,在IDLE中再次点击File-->New File,并在脚本中输入如下代码,用于创建窗口画布和在画布上绘制直线。
from tkinter import *
window1=Tk()
window1.title('test2')
canvas1=Canvas(window1,width=500,height=500,bg='pink') # 设置画布
canvas1.pack() # 显示画布
# 利用create_line()在画布上绘制直线
canvas1.create_line(100,100,400,100,width=5,fill='red')
canvas1.create_line(100,200,400,200,width=15,fill='green')
canvas1.create_line(100,300,400,300,width=35,fill='blue')
window1.mainloop()
Python创建窗口按钮和绘制画布直线
第五,保存和运行上述脚本,可以得到如下图形,画布中绘制了“红 绿 蓝”三条线。
Python创建窗口按钮和绘制画布直线
Ⅳ 怎么用python opencv连线画图
import cv2
import numpy as np
img_size = (210,210)
image = np.ones(img_size) * 255
x1 = 10
y1 =10
x2 = 200
y2 = 200
lineThickness = 2
cv2.line(image, (x1, y1), (x1, y2), (0,255,0), lineThickness)
cv2.line(image, (x1, y1), (x2, y1), (0,255,0), lineThickness)
cv2.line(image, (x1, y2), (x2, y2), (0,255,0), lineThickness)
cv2.line(image, (x2, y1), (x2, y2), (0,255,0), lineThickness)
cv2.imshow('oo',image)
cv2.waitKey()
Ⅳ 用Python画图
今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?
搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图
第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。
它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:
turtle.forward(200)
turtle.left(170)
第一个命令是移动200个单位并画出来轨迹
第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度
然后呢? 循环重复就画出来这个图了
好玩吧。
有需要仔细研究的可以看下这篇文章 https://blog.csdn.net/zengxiantao1994/article/details/76588580 ,这个牛人最后用这个库画个移动的钟表,太赞了。
Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了。
Matplotlib是python最着名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。
使用起来也挺简单,
首先import matplotlib.pyplot as plt 导入画图的图。
然后给定x和y,用这个命令plt.plot(x, y)就能画图了,接着用plt.show()就可以把图形展示出来。
接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在 https://blog.csdn.net/guoziqing506/article/details/78975150 这篇文章里介绍的很详细。
现在互联网的好处就是你需要什么内容,基本上都能搜索出来,而且还是免费的。
我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?
假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:
这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下图:
自己画的是不是很香,哈哈!
然后呢,我在上篇文章 https://www.jianshu.com/p/d4013d8a73de 中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛
plt.plot(df['time'], df['Ahr999'])
图形如下:
但是,Ahr999指数怎么就一条线不动啊, 原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。
继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制
fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price") # 绘制第一个图比特币价格
ax1.set_ylabel('BTC price') # 加上标签
# 第二个直接对称就行了
ax2 = ax1.twinx()# 在右边增加一个Y轴
ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999") # 绘制第二个图Ahr999指数,红色
ax2.set_ylim([0, 50])# 设定第二个Y轴范围
ax2.set_ylabel('ahr999')
plt.grid(color="k", linestyle=":")# 网格
fig.legend(loc="center")#图例
plt.show()
跑起来看看效果,虽然丑了点,但终于跑通了。
这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。
有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。
Ⅵ python 画点连线
没有太明白你的意思:依次连接我理解的是按照生成的顺序连接
随机产生点用random模块
random().random()() 生成0至1之间的随机浮点数,结果大于等于0.0,小于1.0
random.randint(a,b) 生成1至5之间的随机整数,结果大于等于1,小于等于5,a必须小于等于b
random.choice(testlist)从testlist中随机挑选一个数,也可以是元组、字符串
划线函数可以用下面的
dc = wx.PaintDC(self)
dc.SetPen(wx.Pen('red',1))
dc.DrawLine(10, 0, 20, 100)
Ⅶ 请问怎么用python画出这样的图
#encoding:utf-8
#Python3.9.0
#turtle画出不同颜色的同心环/同心圆
importturtle
pen=turtle.Turtle()
n=100
colors=['#0000FF','#FF0000','#FFD700','#008000','#800080']
foriinrange(5):
pen.fillcolor(colors[i])
pen.begin_fill()
pen.penup()
pen.goto(0,20*(i+1))
pen.pendown()
pen.circle(n-i*20)
pen.end_fill()
turtle.done()