㈠ python語言畫圖
1)首先Python畫圖與WING IDE無關,最簡單的是使用Tkinter畫圖
2)畫出單詞有很多方法,最笨的是用劃線方式一筆一筆的畫。其次是直接輸出文本,但意義不大。另外一種方法是調用圖片,你可以在圖片上任意畫好東西後顯示出來。
3)代碼示例:(這個例子就畫了個簡單的字母P)
from Tkinter import *
root=Tk()
root.title('Drawing Example')
canvas=Canvas(root,width=200,height=160,bg='white')
canvas.create_line(10,10,100,70)
canvas.create_line(10,10,40,10)
canvas.create_line(40,10,40,40)
canvas.create_line(10,40,40,40)
canvas.pack()
root.mainloop()
㈡ python導入csv並利用其中數據畫圖
昨天手機看的,沒看到你發的表格,抱歉。給你寫個簡單的。
import pandas
import matplotlib.pyplot as plt
# sep這是是分割符,具體看你自己的文件分割是用什麼,usecoles是取a,b,c三列
a_b_c = pandas.read_csv("這里寫你的文件地址", sep="\t", usecols=[1,2,3])
# 取c在3000到10000的行
a = a_b_c[(a_b_c['c']>=3000) & (a_b_c['c']<=10000)]
a_col = a["a"]
b_col = a["b"]
plt.scatter(a_col, b_col)
plt.show()
流程大概是這樣,具體需要細化的地方看官方文檔或者網路查詢。
㈢ 用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繪圖工具turtle庫的使用
#PythonDraw.py
import turtle #導入turtle庫
turtle.setup(650, 350, 200, 200) #設置畫布大小和位置
turtle.penup() #抬起畫筆
turtle.fd(-250) #畫筆在空中向前飛行-250個像素
turtle.pendown() #畫筆落下
turtle.pensize(25) #畫筆寬度25個像素
turtle.pencolor("purple") #畫筆顏色為紫色
turtle.seth(-40) #海龜方向香油轉動45度,但是不行進
for i in range(4): #這里是一個循環
turtle.circle(40, 80) #繞著左邊40遠處的點向轉80度
turtle.circle(-40, 80) #繞著右邊40遠處的點向轉80度
turtle.circle(40, 80/2) #繞著左邊40遠處的點向轉80/2度
turtle.fd(40) #向前40個像素
turtle.circle(16, 180) #繞著左邊16遠處的點向轉180度
turtle.fd(40 * 2/3) #向前40*2/3個像素
turtle.done() #運行完不退出
1.turtle庫基本介紹
有一隻海龜,其在窗體正中心,在畫布上遊走,走過的軌跡形成了繪制的圖形, 海龜由程序控制,可以變換顏色、改變寬度等。
2.turtle庫繪圖窗體布局
不設置位置,默認在屏幕中心顯示
3.turtle庫空間坐標體系
絕對坐標,可以使用goto函數到達指定位置
例如:
4.turtle庫角度坐標體系
5.RGB色彩體系
㈤ 怎樣用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 Matplotlib畫圖
主要用於作圖、可視化問題
pip install matplotlib
導入模塊 pyplot 和 pylab ,可以參考下面鏈接觀察兩者區別:
https://www.cnblogs.com/Shoesy/p/6673947.html
(說白了就是pylay=pyplot+numpy)
輸入這三行解決
主要使用 plot() 來展示,裡面前兩個參數代表 x , y 坐標(注意x,y數量要一樣),第三個參數可以用來設置散點圖( 'o' )或者顏色、線條形式等各種樣式,並且第三個參數可以同時傳入多個,比如要紅色的散點圖就: Ɔr'
(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
㈦ python繪圖篇
1,xlable,ylable設置x,y軸的標題文字。
2,title設置標題。
3,xlim,ylim設置x,y軸顯示範圍。
plt.show()顯示繪圖窗口,通常情況下,show()會阻礙程序運行,帶-wthread等參數的環境下,窗口不會關閉。
plt.saveFig()保存圖像。
面向對象繪圖
1,當前圖表和子圖可以用gcf(),gca()獲得。
subplot()繪制包含多個圖表的子圖。
configure subplots,可調節子圖與圖表邊框距離。
可以通過修改配置文件更改對象屬性。
圖標顯示中文
1,在程序中直接指定字體。
2, 在程序開始修改配置字典reParams.
3,修改配置文件。
Artist對象
1,圖標的繪制領域。
2,如何在FigureCanvas對象上繪圖。
3,如何使用Renderer在FigureCanvas對象上繪圖。
FigureCanvas和Render處理底層圖像操作,Artist處理高層結構。
分為簡單對象和容器對象,簡單的Aritist是標準的繪圖元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器類型包含許多簡單的的 Aritist對象,使他們構成一個整體,例如Axis,Axes,Figure等。
直接創建Artist對象進項繪圖操作步奏:
1,創建Figure對象(通過figure()函數,會進行許多初始化操作,不建議直接創建。)
2,為Figure對象創建一個或多個Axes對象。
3,調用Axes對象的方法創建各類簡單的Artist對象。
Figure容器
如何找到指定的Artist對象。
1,可調用add_subplot()和add_axes()方法向圖表添加子圖。
2,可使用for循環添加柵格。
3,可通過transform修改坐標原點。
Axes容器
1,patch修改背景。
2,包含坐標軸,坐標網格,刻度標簽,坐標軸標題等內容。
3,get_ticklabels(),,get-ticklines獲得刻度標簽和刻度線。
1,可對曲線進行插值。
2,fill_between()繪制交點。
3,坐標變換。
4,繪制陰影。
5,添加註釋。
1,繪制直方圖的函數是
2,箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用數據中的五個統計量:最小值、第一四分位
數、中位數、第三四分位數與最大值來描述數據的一種方法,它可以粗略地看出數據是否具有對稱性以及分
布的分散程度等信息,特別可以用於對幾個樣本的比較。
3,餅圖就是把一個圓盤按所需表達變數的觀察數劃分為若干份,每一份的角度(即面積)等價於每個觀察
值的大小。
4,散點圖
5,QQ圖
低層繪圖函數
類似於barplot(),dotchart()和plot()這樣的函數採用低層的繪圖函數來畫線和點,來表達它們在頁面上放置的位置以及其他各種特徵。
在這一節中,我們會描述一些低層的繪圖函數,用戶也可以調用這些函數用於繪圖。首先我們先講一下R怎麼描述一個頁面;然後我們講怎麼在頁面上添加點,線和文字;最後講一下怎麼修改一些基本的圖形。
繪圖區域與邊界
R在繪圖時,將顯示區域劃分為幾個部分。繪制區域顯示了根據數據描繪出來的圖像,在此區域內R根據數據選擇一個坐標系,通過顯示出來的坐標軸可以看到R使用的坐標系。在繪制區域之外是邊沿區,從底部開始按順時針方向分別用數字1到4表示。文字和標簽通常顯示在邊沿區域內,按照從內到外的行數先後顯示。
添加對象
在繪制的圖像上還可以繼續添加若干對象,下面是幾個有用的函數,以及對其功能的說明。
•points(x, y, ...),添加點
•lines(x, y, ...),添加線段
•text(x, y, labels, ...),添加文字
•abline(a, b, ...),添加直線y=a+bx
•abline(h=y, ...),添加水平線
•abline(v=x, ...),添加垂直線
•polygon(x, y, ...),添加一個閉合的多邊形
•segments(x0, y0, x1, y1, ...),畫線段
•arrows(x0, y0, x1, y1, ...),畫箭頭
•symbols(x, y, ...),添加各種符號
•legend(x, y, legend, ...),添加圖列說明