Ⅰ 怎樣用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()