㈠ 怎樣用python畫圖,為什麼代碼寫好運行時錯誤
python繪圖(可視化)的模塊非常多,下面我簡單介紹幾個不錯的繪圖庫,感興趣的朋友可以自己嘗試一下,實驗環境win7+python3.6+pycharm5.0,主要內容如下:
matplotlib
這是python中專門用於繪圖的一個模塊,功能強大,制圖種類繁多,使用也最廣泛,下面我簡單介紹一下這個模塊的安裝和使用:
1.首先,安裝matplotlib模塊,這個直接在cmd窗口輸入安裝命令「pip install matplotlib」就行,如下:
2.安裝完成後,我們就可以編寫代碼進行一下簡單測試了,代碼如下,一個稍微復雜的曲線圖:
程序運行效果如下,看著還是非常不錯的:
3.更多示例的話,可以參考一下官網教程,介紹的非常詳細,柱狀圖、散點圖、餅圖等都有,非常適合初學者學習入門:
seaborn
這是一個基於matplotlib的繪圖庫,是matplotlib的高級封裝,代碼量更少,使用起來也更方便,下面我簡單介紹一下這個模塊的安裝和使用:
1.首先,安裝seaborn模塊,這個也直接輸入安裝命令「pip install seaborn」就行,如下,很快就能安裝完成:
2.安裝完成後,我們就可以直接編寫代碼來測試一下這個模塊了,代碼如下,一個折線圖集合:
程序運行截圖如下,效果也非常不錯:
3.更多示例的話,也直接參考官網教程就行,介紹的非常詳細,很適合初學者入門學習:
pyecharts
這是echarts的一個python介面,藉助於echarts強大的可視化功能,python也可以快速構建、繪制各種各樣的圖表,下面我簡單介紹一下這個模塊的安裝和使用:
1.首先,安裝pyecharts模塊,這個也直接輸入命令「pip install pyecharts」就行,如下:
2.安裝完成後,我們就可以編寫代碼來進行下測試了,測試代碼如下,一個簡單的3D散點圖:
程序運行截圖如下(基於瀏覽器進行顯示),效果還是非常不錯的:
至此,我們就完成了利用python來進行繪圖(可視化)。總的來說,這3個繪圖模塊使用起來都非常不錯,對於大多數圖表繪制來說,完全可以滿足需求,當然,還有許多其他繪圖模塊,像ggplot等,也都非常不錯,網上也有相關教程,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
python畫圖有很多擴展可以用,比如matplotlib、turtle、pychart等等,看你需要什麼方面了,不同的需求需要用不同的工具。如果做界面還有pyqt、tkinter等等,做 游戲 還有pygame等等。
python報錯需要查看報錯信息,進行調試才能正常運行
㈡ Python常用的作圖軟體工具有哪些
Python有許多可用於繪圖的工具,包括Matplotlib、Seaborn、Bokeh和念仔Plotly。其中,Matplotlib是最常用的工具,它可以用於創建各種類型的靜態圖表。Seaborn和Bokeh提供了更高級的繪圖功能,可以用於創建更復雜和動態的圖表。Plotly可以用圓高謹於創建互動式圖表,並且可以在網橘基頁上嵌入到網站中。
㈢ 怎樣用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步
希望我的回答對你有幫助
㈣ Pycharm、Spyder、Jupyter notebook「彈出窗繪圖」和「控制台繪圖」設置
Python中繪圖方式包括「控制台繪圖」和「彈出窗繪圖」,兩者各有益處。
控制台繪圖 :方便保存輸出記錄(如將IPython 終枝清端輸出轉換成 Html 文件),無法動態繪圖(大大的缺點)。
彈出窗繪圖 :可以互動式的放大、拖動圖片慎搭念,可進行動態繪圖,並且能將圖片保存成不同的格式。
Pycharm設置(如下圖) :
設置好後直接生效!
Spyder設置(如下圖) :
必須重新啟動後才能寬困生效!
jupyter notebook設置(如下圖) :
彈出窗顯示必須加上: %matplotlib auto
控制台顯示必須加上: %matplotlib inline (默認顯示方式)
注意:設置好後可能還需要重啟一下服務(在工具欄上)。
㈤ 怎麼用Python製作一個好玩炫酷的GIF動態圖
importsys
importnumpyasnp
importmatplotlib.pyplotasplt
frommatplotlib.animationimportFuncAnimation
fig,ax=plt.subplots()
fig.set_tight_layout(True)
#詢問圖形在屏幕上的大小和DPI(每英寸點數)
#注意當把圖形保存為文件時,需要為此單獨再提供一個DPI
print('figsize:{0}DPI,sizeininches{1}'.format(
fig.get_dpi(),fig.get_size_inches()))
#繪制一個保持不變(不會被重新繪制)的散點圖以及初始直線
x=np.arange(0,20,0.1)
ax.scatter(x,x+np.random.normal(0,3.0,len(x)))
line,=ax.plot(x,x-5,'r-',linewidth=2)
defupdate(i):
label='timestep{0}'.format(i)
print(label)
#更新直線和軸(用一個新X軸標簽)
#以元組形式返回這一幀需要重新繪制的物體
line.set_ydata(x-5+i)
ax.set_xlabel(label)
returnline,ax
if__name__=='__main__':
#會為每一幀調用Update函數
#這里FunAnimation設置一個10幀動畫,每幀間隔200ms
anim=FuncAnimation(fig,update,frames=np.arange(0,10),interval=200)
iflen(sys.argv)>1andsys.argv[1]=='save':
anim.save('line.gif',dpi=80,writer='imagemagick')
else:
#Plt.show()會一直循環動畫
plt.show()
可以生成下面這種圖
㈥ 如何用Python顯示出一維波動方程的動態圖像
Python有一些繪圖的功能,使用turtle模塊。
在命令行輸入
python.exe -m turtledemo
可以打開Python安裝時,系統自帶的一些演示程序。
感覺功能還是比較多的。
程序實現其實還是比較簡單,主要是得搞懂倒是給的文獻,還得跟導師交流如何演示出效果。
㈦ python繪圖小結(2)
#例題1繪制一個四葉草
import turtle
turtle.color("green","green")
turtle.setheading(90)
turtle.begin_fill()
for i in range(4):
turtle.circle(-100,180)
turtle.left(90)
turtle.end_fill()
turtle.done()
#例題2繪制一個四角星
import turtle
turtle.color("yellow"配哪,"yellow")
turtle.begin_fill()
for i in range(4):
turtle.circle(100,90)
turtle.right(180)
turtle.end_fill()
turtle.done()
#例題3繪制一個四葉花瓣
import turtle
turtle.color("pink"飢宴,"pink")
turtle.begin_fill()
turtle.circle(-100,90)
turtle.right(90)
turtle.circle(-100,90)
turtle.circle(100, 90)
turtle.right(90)
turtle.circle(-100, -90)
turtle.right(90)
turtle.circle(-100, 90)
turtle.right(90)
turtle.circle(-100, 90)
turtle.circle(100, 90)
turtle.right(90)
turtle.circle(-100, -90)
turtle.end_fill()
turtle.done()
#例題4輸入一個數字,繪制以該數字為爛賣銀邊數的正多邊形
import turtle
a=int(turtle.textinput("繪制正多邊形","請輸入邊數:"))
turtle.circle(100,360,a)
turtle.done()
㈧ 用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中獲取的數據為矩陣形式,如何在python以實時的形式繪制出動態圖
你好,下面是一個畫動態圖的例子。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
y1 = []
for i in range(50):
y1.append(i) # 每迭代一次,將i放入y1中畫出來
ax.cla() # 清除鍵
ax.bar(y1, label='test', height=y1, width=0.3)
ax.legend()
plt.pause(0.1)