1、 定義x和y,畫圖展示,保存圖片
十年的鐵西網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整鐵西建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“鐵西網(wǎng)站設(shè)計”,“鐵西網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
其中dpi參數(shù)指定圖像的分辨率為120
2、 優(yōu)化繪圖線條風(fēng)格
線條顏色color
線條標記marker
線條風(fēng)格linestyle
3、 坐標軸的控制
坐標軸范圍和標題
坐標圖上標記
坐標間隔設(shè)定
函數(shù)plt.xticks()和plt.xticks()用來實現(xiàn)對x軸和y軸坐標間隔(也就是軸記號)的設(shè)定。用法上,函數(shù)的輸入是兩個列表,第一個表示取值,第二個表示標記。當然如果你的標記就是取值本身,則第二個列表可以忽略
多圖與子圖
figure() 函數(shù)可以幫助我們同時處理生成多個圖,而subplot()函數(shù)則用來實現(xiàn),在一個大圖中,出現(xiàn)多個小的子圖。需要注意的是, figure() 中的參數(shù)為圖片序號,一般是按序增加的,這里面還涉及一個當前圖的概念,其中 subplot() 的參數(shù)有3個,分別為行數(shù)、列數(shù)、以及子圖序號。比如 subplot(1,2,1) 表示這是一個1行,2列布局的圖(兩個子圖,在同一行,分居左右),其中,當前處理的子圖是第一個圖(也就是左圖)。
這樣,我們就用一個腳本畫了兩張圖fig.1和fig.2。其中,fig.1包含了分居左右的兩個子圖,分別是y1和y3的曲線;fig.2是一張整圖,畫的是y2曲線。
如果想要某個子圖占據(jù)整行或者整列,可以采用下面
第三個圖,實際上相當于將前面的兩個小的子圖看作是一個整圖
2018-05-04 11:11:36
122點贊
qiurisiyu2016
碼齡7年
關(guān)注
matplotlib
1、plt.plot(x,y)
plt.plot(x,y,format_string,**kwargs)?
x軸數(shù)據(jù),y軸數(shù)據(jù),format_string控制曲線的格式字串?
format_string 由顏色字符,風(fēng)格字符,和標記字符
import matplotlib.pyplot as plt
plt.plot([1,2,3,6],[4,5,8,1],’g-s’)?
plt.show()
結(jié)果
**kwards:?
color 顏色?
linestyle 線條樣式?
marker 標記風(fēng)格?
markerfacecolor 標記顏色?
markersize 標記大小 等等?
plt.plot([5,4,3,2,1])? ?
plt.show()
結(jié)果
plt.plot([20,2,40,6,80])? ?#缺省x為[0,1,2,3,4,...]
plt.show()
結(jié)果
plt.plot()參數(shù)設(shè)置
Property Value Type
alpha 控制透明度,0為完全透明,1為不透明
animated [True False]
antialiased or aa [True False]
clip_box a matplotlib.transform.Bbox instance
clip_on [True False]
clip_path a Path instance and a Transform instance, a Patch
color or c 顏色設(shè)置
contains the hit testing function
dash_capstyle [‘butt’ ‘round’ ‘projecting’]
dash_joinstyle [‘miter’ ‘round’ ‘bevel’]
dashes sequence of on/off ink in points
data 數(shù)據(jù)(np.array xdata, np.array ydata)
figure 畫板對象a matplotlib.figure.Figure instance
label 圖示
linestyle or ls 線型風(fēng)格[‘-’ ‘–’ ‘-.’ ‘:’ ‘steps’ …]
linewidth or lw 寬度float value in points
lod [True False]
marker 數(shù)據(jù)點的設(shè)置[‘+’ ‘,’ ‘.’ ‘1’ ‘2’ ‘3’ ‘4’]
markeredgecolor or mec any matplotlib color
markeredgewidth or mew float value in points
markerfacecolor or mfc any matplotlib color
markersize or ms float
markevery [ None integer (startind, stride) ]
picker used in interactive line selection
pickradius the line pick selection radius
solid_capstyle [‘butt’ ‘round’ ‘projecting’]
solid_joinstyle [‘miter’ ‘round’ ‘bevel’]
transform a matplotlib.transforms.Transform instance
visible [True False]
xdata np.array
ydata np.array
zorder any number
確定x,y值,將其打印出來
x=np.linspace(-1,1,5)
y=2*x+1
plt.plot(x,y)
plt.show()
2、plt.figure()用來畫圖,自定義畫布大小
fig1 = plt.figure(num='fig111111', figsize=(10, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#0000FF')
plt.plot(x,y1) ? ? ? ? ? #在變量fig1后進行plt.plot操作,圖形將顯示在fig1中
fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')
plt.plot(x,y2) ? ? ? ? ? #在變量fig2后進行plt.plot操作,圖形將顯示在fig2中
plt.show()
plt.close()
結(jié)果
fig1 = plt.figure(num='fig111111', figsize=(10, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#0000FF')
plt.plot(x,y1)
plt.plot(x,y2)
fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')
plt.show()
plt.close()
結(jié)果:
3、plt.subplot(222)
將figure設(shè)置的畫布大小分成幾個部分,參數(shù)‘221’表示2(row)x2(colu),即將畫布分成2x2,兩行兩列的4塊區(qū)域,1表示選擇圖形輸出的區(qū)域在第一塊,圖形輸出區(qū)域參數(shù)必須在“行x列”范圍? ? ? ? ? ? ? ? ? ? ? ?,此處必須在1和2之間選擇——如果參數(shù)設(shè)置為subplot(111),則表示畫布整個輸出,不分割成小塊區(qū)域,圖形直接輸出在整塊畫布上
plt.subplot(222)?
plt.plot(y,xx)? ? #在2x2畫布中第二塊區(qū)域輸出圖形
plt.show()
plt.subplot(223)? #在2x2畫布中第三塊區(qū)域輸出圖形
plt.plot(y,xx)
plt.subplot(224)? # 在在2x2畫布中第四塊區(qū)域輸出圖形
plt.plot(y,xx)
4、plt.xlim設(shè)置x軸或者y軸刻度范圍
如
plt.xlim(0,1000)? #? 設(shè)置x軸刻度范圍,從0~1000 ? ? ? ? #lim為極限,范圍
plt.ylim(0,20)? ?# 設(shè)置y軸刻度的范圍,從0~20
5、plt.xticks():設(shè)置x軸刻度的表現(xiàn)方式
fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')
plt.plot(x,y2)
plt.xticks(np.linspace(0,1000,15,endpoint=True))? # 設(shè)置x軸刻度
plt.yticks(np.linspace(0,20,10,endpoint=True))
結(jié)果
6、ax2.set_title('xxx')設(shè)置標題,畫圖
#產(chǎn)生[1,2,3,...,9]的序列
x = np.arange(1,10)
y = x
fig = plt.figure()
ax1 = fig.add_subplot(221)
#設(shè)置標題
ax1.set_title('Scatter Plot1')
plt.xlabel('M')
plt.ylabel('N')
ax2 = fig.add_subplot(222)
ax2.set_title('Scatter Plot2clf')
#設(shè)置X軸標簽
plt.xlabel('X') ? ? ? ? ? #設(shè)置X/Y軸標簽是在對應(yīng)的figure后進行操作才對應(yīng)到該figure
#設(shè)置Y軸標簽
plt.ylabel('Y')
#畫散點圖
ax1.scatter(x,y,c = 'r',marker = 'o') ? ? ? ? ?#可以看出畫散點圖是在對figure進行操作
ax2.scatter(x,y,c = 'b',marker = 'x')
#設(shè)置圖標
plt.legend('show picture x1 ')
#顯示所畫的圖
plt.show()
結(jié)果
7、plt.hist()繪制直方圖(可以將高斯函數(shù)這些畫出來)
繪圖都可以調(diào)用matplotlib.pyplot庫來進行,其中的hist函數(shù)可以直接繪制直方圖
調(diào)用方式:
n, bins, patches = plt.hist(arr, bins=10, normed=0, facecolor='black', edgecolor='black',alpha=1,histtype='bar')
hist的參數(shù)非常多,但常用的就這六個,只有第一個是必須的,后面四個可選
arr: 需要計算直方圖的一維數(shù)組
bins: 直方圖的柱數(shù),可選項,默認為10
normed: 是否將得到的直方圖向量歸一化。默認為0
facecolor: 直方圖顏色
edgecolor: 直方圖邊框顏色
alpha: 透明度
histtype: 直方圖類型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’
返回值 :
n: 直方圖向量,是否歸一化由參數(shù)normed設(shè)定
bins: 返回各個bin的區(qū)間范圍
patches: 返回每個bin里面包含的數(shù)據(jù),是一個list
from skimage import data
import matplotlib.pyplot as plt
img=data.camera()
plt.figure("hist")
arr=img.flatten()
n, bins, patches = plt.hist(arr, bins=256, normed=1,edgecolor='None',facecolor='red')??
plt.show()
例:
mu, sigma = 0, .1
s = np.random.normal(loc=mu, scale=sigma, size=1000)
a,b,c = plt.hist(s, bins=3)
print("a: ",a)
print("b: ",b)
print("c: ",c)
plt.show()
結(jié)果:
a:? [ 85. 720. 195.]? ? ? ? ?#每個柱子的值
b:? [-0.36109509 -0.1357318? ?0.08963149? 0.31499478]? ?#每個柱的區(qū)間范圍
c:? a list of 3 Patch objects? ? ? ?#總共多少柱子
8、ax1.scatter(x,y,c = 'r',marker = 'o')?
使用注意:確定了figure就一定要確定象限,然后用scatter,或者不確定象限,直接使用plt.scatter
x = np.arange(1,10)
y = x
fig = plt.figure()
a=plt.subplot()? ? ? ? ? ? #默認為一個象限
# a=fig.add_subplot(222)
a.scatter(x,y,c='r',marker='o')
plt.show()
結(jié)果
x = np.arange(1,10)
y = x
plt.scatter(x,y,c='r',marker='o')
plt.show()
結(jié)果
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,10)
y = x
plt.figure()
plt.scatter(x,y,c='r',marker='o')
plt.show()
結(jié)果
文章知識點與官方知識檔案匹配
Python入門技能樹基礎(chǔ)語法函數(shù)
211242 人正在系統(tǒng)學(xué)習(xí)中
打開CSDN APP,看更多技術(shù)內(nèi)容
plt的一些函數(shù)的使用_班花i的博客_plt函數(shù)
plt.函數(shù) Fwuyi的博客 6513 1plt.figure( )函數(shù):創(chuàng)建畫布 2plt.plot(x, y, format_string, label="圖例名"):繪制點和線, 并控制樣式。 其中x是x軸數(shù)據(jù),y是y軸數(shù)據(jù),xy一般是列表和數(shù)組。format_string 是字符串的格式包括線...
繼續(xù)訪問
Python的數(shù)據(jù)科學(xué)函數(shù)包(三)——matplotlib(plt)_hxxjxw的博客...
import matplotlib.pyplot as plt plt.imshow(img) plt.show() plt.imshow()有一個cmap參數(shù),即指定顏色映射規(guī)則。默認的cmap即顏料板是十色環(huán) 哪怕是單通道圖,值在0-1之間,用plt.imshow()仍然可以顯示彩色圖,就是因為顏色映射的關(guān)...
繼續(xù)訪問
對Python中plt的畫圖函數(shù)詳解
今天小編就為大家分享一篇對Python中plt的畫圖函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
plt.plot()函數(shù)詳解
plt.plot()函數(shù)詳細介紹 plt.plot(x, y, format_string, **kwargs) 參數(shù) 說明 x X軸數(shù)據(jù),列表或數(shù)組,可選 y Y軸數(shù)據(jù),列表或數(shù)組 format_string 控制曲線的格式字符串,可選 **kwargs 第二組或更多(x,y,format_string),可畫多條曲線 format_string 由顏色字符、風(fēng)格字符、標記字符組成 顏色字符 'b' 藍色 'm' 洋紅色 magenta 'g' 綠色 'y.
繼續(xù)訪問
python圖像處理基礎(chǔ)知識(plt庫函數(shù)說明)_小草莓爸爸的博客_p...
1.畫圖(plt庫)1.1 plt.figure(num=’’,figsize=(x, y),dpi= ,facecolor=’’,edgecolor=’’)num:表示整個圖標的標題 figsize:表示尺寸 facecolor:表示1.2 plt.plot(x,y,format_string,**kwargs)...
繼續(xù)訪問
plt的一些函數(shù)使用_neo3301的博客_plt函數(shù)
1、plt.plot(x,y) plt.plot(x,y,format_string,**kwargs) x軸數(shù)據(jù),y軸數(shù)據(jù),format_string控制曲線的格式字串 format_string 由顏色字符,風(fēng)格字符,和標記字符 import matplotlib.pyplot as plt ...
繼續(xù)訪問
最新發(fā)布 python plt 繪圖詳解(plt.版本)
python plt繪圖詳解
繼續(xù)訪問
python圖像處理基礎(chǔ)知識(plt庫函數(shù)說明)
import matplotlib.pyplot as plt的一些基礎(chǔ)用法,包括直方圖
繼續(xù)訪問
plt.subplot() 函數(shù)解析_Ensoleile。的博客_plt.subplot
plt.subplot()函數(shù)用于直接制定劃分方式和位置進行繪圖。 函數(shù)原型 subplot(nrows, ncols, index, **kwargs),一般我們只用到前三個參數(shù),將整個繪圖區(qū)域分成 nrows 行和 ncols 列,而 index 用于對子圖進行編號。
繼續(xù)訪問
...中plt的畫圖函數(shù)_Ethan的博客的博客_python的plt函數(shù)
1、plt.legend plt.legend(loc=0)#顯示圖例的位置,自適應(yīng)方式 說明: 'best' : 0, (only implemented for axes legends)(自適應(yīng)方式) 'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, ...
繼續(xù)訪問
plt.函數(shù)
1 plt.figure( ) 函數(shù):創(chuàng)建畫布 2 plt.plot(x, y, format_string, label="圖例名"):繪制點和線, 并控制樣式。 其中x是x軸數(shù)據(jù),y是y軸數(shù)據(jù),xy一般是列表和數(shù)組。format_string 是字符串的格式包括線條顏色、點類型、線類型三個部分。向參數(shù)label傳入圖例名,使用plt.legend( )創(chuàng)建圖例。 2.1 畫一條含x、y的線條 import matplotlib.pyplot as plt x = [1, 2, 3, 4] y
繼續(xù)訪問
Python深度學(xué)習(xí)入門之plt畫圖工具基礎(chǔ)使用(注釋詳細,超級簡單)
Python自帶的plt是深度學(xué)習(xí)最常用的庫之一,在發(fā)表文章時必然得有圖作為支撐,plt為深度學(xué)習(xí)必備技能之一。作為深度學(xué)習(xí)入門,只需要掌握一些基礎(chǔ)畫圖操作即可,其他等要用到的時候看看函數(shù)API就行。 1 導(dǎo)入plt庫(名字長,有點難記) import matplotlib.pyplot as plt 先隨便畫一個圖,保存一下試試水: plt.figure(figsize=(12,8), dpi=80) plt.plot([1,2,6,4],[4,5,6,9]) plt.savefig('./plt_pn
繼續(xù)訪問
python畫圖plt函數(shù)學(xué)習(xí)_dlut_yan的博客_python plt
figure()函數(shù)可以幫助我們同時處理生成多個圖,而subplot()函數(shù)則用來實現(xiàn),在一個大圖中,出現(xiàn)多個小的子圖。 處理哪個figure,則選擇哪個figure,再進行畫圖。 參考博客 importmatplotlib.pyplotaspltimportnumpyasnp x=np.arange(-1,1,0.1...
繼續(xù)訪問
plt.plot()函數(shù)_安之若醇的博客_plt.plot()函數(shù)
plt.plot()函數(shù)是matplotlib.pyplot用于畫圖的函數(shù)傳一個值列表:import numpy as npimport matplotlib.pyplot as pltt=[1,2,3,4,5]y=[3,4,5,6,7]plt.plot(t, y)當x省略的時候,默認[0,1…,N-1]遞增可以傳元組也可以傳...
繼續(xù)訪問
python畫圖plt函數(shù)學(xué)習(xí)
python中的繪圖工具 :matplotli,專門用于畫圖。 一. 安裝與導(dǎo)入 工具包安裝:conda install matplotli 導(dǎo)入:import matplotlib.pyplot as plt 畫圖主要有:列表繪圖;多圖繪圖;數(shù)組繪圖 二. 列表繪圖 1. 基礎(chǔ)繪圖:plt.plot;plt.show import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 9, 16] plt.plot(x, y) plt.show()
繼續(xù)訪問
python中plt的含義_對Python中plt的畫圖函數(shù)詳解
1、plt.legendplt.legend(loc=0)#顯示圖例的位置,自適應(yīng)方式說明:'best' : 0, (only implemented for axes legends)(自適應(yīng)方式)'upper right' : 1,'upper left' : 2,'lower left' : 3,'lower right' : 4,'right' : 5,'cent...
繼續(xù)訪問
Python中plt繪圖包的基本使用方法
其中,前兩個輸入?yún)?shù)表示x軸和y軸的坐標,plot函數(shù)將提供的坐標點連接,即成為要繪制的各式線型。常用的參數(shù)中,figsize需要一個元組值,表示空白畫布的橫縱坐標比;plt.xticks()和plt.yticks()函數(shù)用于設(shè)置坐標軸的步長和刻度。plt.xlabel()、plt.ylabel()和plt.title()函數(shù)分別用于設(shè)置x坐標軸、y坐標軸和圖標的標題信息。的數(shù)據(jù)處理時,發(fā)現(xiàn)了自己對plt的了解和使用的缺失,因此進行一定的基礎(chǔ)用法的學(xué)習(xí),方便之后自己的使用,而不需要頻繁的查閱資料。...
繼續(xù)訪問
python-plt.xticks與plt.yticks
栗子: plt.figure(figsize=(10, 10)) for i in range(25): plt.subplot(5, 5, i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(train_images[i], cmap=plt.cm.binary) plt.xlabel(class_names[train_labels[i]]) plt.show() 設(shè)置x或y軸對應(yīng)顯
繼續(xù)訪問
plt繪圖總結(jié)
matplotlib繪圖
繼續(xù)訪問
Python的數(shù)據(jù)科學(xué)函數(shù)包(三)——matplotlib(plt)
繼續(xù)訪問
熱門推薦 python plt 畫圖
使用csv數(shù)據(jù)文件在百度網(wǎng)盤 import pandas as pd unrate = pd.read_csv('unrate.csv') # pd.to_datetime() 轉(zhuǎn)換成日期格式,即由 1948/1/1 轉(zhuǎn)換為 1948-01-01 unrate['DATE'] = pd.to_datetime(unrate['DATE']) print(unrate.head(12)) ...
繼續(xù)訪問
python數(shù)據(jù)可視化實現(xiàn)步驟,Python數(shù)據(jù)可視化圖實現(xiàn)過程詳解
Python數(shù)據(jù)可視化圖實現(xiàn)過程詳解更多python視頻教程請到菜鳥教程畫分布圖代碼示例:# encoding=utf-8import matplotlib.pyplot as pltfrom pylab import * # 支持中文mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]‘mention...
繼續(xù)訪問
matplotlib-plt.plot用法
文章目錄 英語好的直接參考這個網(wǎng)站 matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs) 將x,y繪制為線條或標記 參數(shù): x, y:數(shù)據(jù)點的水平/垂直坐標。x值是可選的,默認為range(len(y))。通常,這些參數(shù)是 一維數(shù)組。它們也可以是標量,也可以是二維的(在這種情況下,列代表單獨的數(shù)據(jù)集)。 這些參數(shù)不能作為關(guān)鍵字傳遞。 fmt:格式字符串,格式字符串只是用于快速設(shè)置基本行屬性的縮
繼續(xù)訪問
python Plt學(xué)習(xí)
plt的簡單學(xué)習(xí)
繼續(xù)訪問
plt.show()和plt.imshow()的區(qū)別
問題:plt.imshow()無法顯示圖像 解決方法:添加:plt.show(),即 plt.imshow(image) #image表示待處理的圖像 plt.show() 原理:plt.imshow()函數(shù)負責(zé)對圖像進行處理,并顯示其格式,而plt.show()則是將plt.imshow()處理后的函數(shù)顯示出來。 ...
繼續(xù)訪問
python題庫刷題網(wǎng)站_python在線刷題網(wǎng)站
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技術(shù)人對外發(fā)布原創(chuàng)技術(shù)內(nèi)容的最大平臺;社區(qū)覆蓋了云計算、大數(shù)據(jù)、人工智能、IoT、云原生、數(shù)據(jù)庫、微服務(wù)、安全、開發(fā)與運維9大技術(shù)領(lǐng)域。","link1":...
繼續(xù)訪問
python xticks_Python Matplotlib.pyplot.yticks()用法及代碼示例
Matplotlib是Python中的一個庫,它是數(shù)字的-NumPy庫的數(shù)學(xué)擴展。 Pyplot是Matplotlib模塊的基于狀態(tài)的接口,該模塊提供了MATLAB-like接口。Matplotlib.pyplot.yticks()函數(shù)matplotlib庫的pyplot模塊中的annotate()函數(shù)用于獲取和設(shè)置y軸的當前刻度位置和標簽。用法: matplotlib.pyplot.yticks...
繼續(xù)訪問
python的plt函數(shù)_plt.plot畫圖函數(shù)
[‘font.sans-serif’]=[‘SimHei’]plt.rcParams[‘a(chǎn)xes.unicode_minus’] = False#設(shè)置橫縱坐標的名稱以及對應(yīng)字體格式font1 = {‘weight’ : ‘normal’,‘size’ : 15,...
繼續(xù)訪問
plt函數(shù)
寫評論
7
794
122
今天開始琢磨用Python畫圖,沒使用之前是一臉懵的,我使用的開發(fā)環(huán)境是Pycharm,這個輸出的是一行行命令,這個圖畫在哪里呢?
搜索之后發(fā)現(xiàn),它會彈出一個對話框,然后就開始畫了,比如下圖
第一個常用的庫是Turtle,它是Python語言中一個很流行的繪制圖像的函數(shù)庫,這個詞的意思就是烏龜,你可以想象下一個小烏龜在一個x和y軸的平面坐標系里,從原點開始根據(jù)指令控制,爬行出來就是繪制的圖形了。
它最常用的指令就是旋轉(zhuǎn)和移動,比如畫個圓,就是繞著圓心移動;再比如上圖這個怎么畫呢,其實主要就兩個命令:
turtle.forward(200)
turtle.left(170)
第一個命令是移動200個單位并畫出來軌跡
第二個命令是畫筆順時針轉(zhuǎn)170度,注意此時并沒有移動,只是轉(zhuǎn)角度
然后呢? 循環(huán)重復(fù)就畫出來這個圖了
好玩吧。
有需要仔細研究的可以看下這篇文章 ,這個牛人最后用這個庫畫個移動的鐘表,太贊了。
Turtle雖好玩,但是我想要的是我給定數(shù)據(jù),然后讓它畫圖,這里就找到另一個常用的畫圖的庫了。
Matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地行制圖。其中,matplotlib的pyplot模塊一般是最常用的,可以方便用戶快速繪制二維圖表。
使用起來也挺簡單,
首先import matplotlib.pyplot as plt?導(dǎo)入畫圖的圖。
然后給定x和y,用這個命令plt.plot(x, y)就能畫圖了,接著用plt.show()就可以把圖形展示出來。
接著就是各種完善,比如加標題,設(shè)定x軸和y軸標簽,范圍,顏色,網(wǎng)格等等,在 這篇文章里介紹的很詳細。
現(xiàn)在互聯(lián)網(wǎng)的好處就是你需要什么內(nèi)容,基本上都能搜索出來,而且還是免費的。
我為什么要研究這個呢?當然是為了用,比如我把比特幣的曲線自己畫出來可好?
假設(shè)現(xiàn)在有個數(shù)據(jù)csv文件,一列是日期,另一列是比特幣的價格,那用這個命令畫下:
這兩列數(shù)據(jù)讀到pandas中,日期為df['time']列,比特幣價格為df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下圖:
自己畫的是不是很香,哈哈!
然后呢,我在上篇文章 中介紹過求Ahr999指數(shù),那可不可以也放到這張圖中呢?不就是加一條命令嘛
plt.plot(df['time'], df['Ahr999'])
圖形如下:
但是,Ahr999指數(shù)怎么就一條線不動啊,?原來兩個Y軸不一致,顯示出來太怪了,需要用多Y軸,問題來了。
繼續(xù)谷歌一下,把第二個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指數(shù),紅色
ax2.set_ylim([0, 50])# 設(shè)定第二個Y軸范圍
ax2.set_ylabel('ahr999')
plt.grid(color="k", linestyle=":")# 網(wǎng)格
fig.legend(loc="center")#圖例
plt.show()
跑起來看看效果,雖然丑了點,但終于跑通了。
這樣就可以把所有指數(shù)都繪制到一張圖中,等等,三個甚至多個Y軸怎么加?這又是一個問題,留給愛思考愛學(xué)習(xí)的你。
有了自己的數(shù)據(jù),建立自己的各個指數(shù),然后再放到圖形界面中,同時針對異常情況再自動進行提醒,比如要抄底了,要賣出了,用程序做出自己的晴雨表。
網(wǎng)站名稱:python里畫圖函數(shù) python畫圖函數(shù)turtle
標題鏈接:http://jinyejixie.com/article42/dopsihc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、標簽優(yōu)化、微信公眾號、云服務(wù)器、企業(yè)建站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)