好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > matplotlib繪制正余弦曲線圖的實現

matplotlib繪制正余弦曲線圖的實現

熱門標簽:申請辦個400電話號碼 400電話辦理費用收費 鎮江人工外呼系統供應商 騰訊地圖標注有什么版本 外呼系統前面有錄音播放嗎 千呼ai電話機器人免費 高德地圖標注字母 柳州正規電銷機器人收費 深圳網絡外呼系統代理商

序言:

在python里面,數據可視化是python的一個亮點。在python里面,數據可視可以達到什么樣的效果,這當然與我們使用的庫有關。python常常需要導入庫,并不斷調用方法,就很像一條流數據可視化的庫,有很多,很多都可以后續開發,然后我們調用。了解過pyecharts美觀的可視化界面 ,將pyecharts和matplotlib相對比一下。

pyecharts和matplotlib的區別在哪里呢?Matplotlib是Python數據可視化庫的泰斗,盡管已有十多年的歷史,但仍然是Python社區中使用最廣泛的繪圖庫,它的設計與MATLAB非常相似,提供了一整套和MATLAB相似的命令API,適合交互式制圖,還可以將它作為繪圖控件,嵌入其它應用程序中。
Pyecharts是一款將Python與Echarts相結合的數據可視化工具,可以高度靈活的配置,輕松搭配出精美的視圖。其中Echarts是百度開源的一個數據可視化庫,而Pyecharts將Echarts與Python進行有機對接,方便在Python中直接生成各種美觀的圖形。

數據可視化之matplotlib繪制正余弦曲線圖

我們先來看最終實現效果


上面這個圖是最終保存的圖片查看效果
我們一步一步來實現

1:首先我們需要導入基本的庫

matplotlib numpy
matplotlib 是我們本章需要的庫
numpy 是我們數據分析處理的常見庫,在機器學習時也會經常用到。

一步一步來了
下面展示一些 內聯代碼片

第一步

#1:用到的方法及參數
# linspace(start, stop, num=50, endpoint=True, 
# retstep=False, dtype=None)
# 相關參數的說明
# 指定在start到stop均分數值
# start:不可省略
# stop:有時包含有時不包含,根據endpoint來選擇,默認包含
# num:指定均分的數量,默認為50
# endpoint:布爾值,可選,默認為True。包含stop就True,不包含就# False
# retstep : 布爾值,可選,默認為False。如果為True,返回值和步長
# dtype : 輸出數據類型,可選。如果不指定,則根據前面參數的數據類型
# 2:np.plot(x,y.color.lw,label,ls,mk,mec,mfc)
# 其中X由所有輸入點坐標的x值組成,Y是由與X中包含的x對應的y所組
# 成的向量
# color 指定線條的顏色
# lw指定線條的寬度
# lw指定線條的樣式,默認為實現
# mk可以指定數據標識符
# ms可以指定標識符的大小
# mec可以指定標識符的邊界色彩
# mfc標識符內部填充顏色
import matplotlib.pyplot as plt
import numpy as np
#用于正常顯示中文標簽
plt.rcParams['font.sans-serif']=['SimHei']
# 用于正常顯示符號
plt.rcParams['axes.unicode_minus']=False
x = np.linspace(-np.pi,np.pi,256,endpoint = 256)
sin,cos = np.sin(x),np.cos(x)
#繪制,并設置相關的參數,這里標簽還不會顯示出來,因為還沒有
#添加圖例,具體往下面看
plt.plot(x,sin,color = 'blue',lw=2.5,label = '正弦sin',mec='red')
plt.plot(x,cos,color = 'red',lw = 2.5,label = '余弦cos()')
plt.show() #顯示


第二步

#用到的方法及參數
# plt.xlim(xmin, xmax)
# xmin:x軸上的最小值
# xmax:x軸上的最大值
#plt.ylim() 與上一樣的道理
#具體如何使用,可以看下面的實例代碼

plt.xlim(x.min()*1.5,x.max()*1.5) #將x軸拉伸1.5倍
plt.ylim(cos.min()*1.5,cos.max()*1.5) # 將y軸拉伸1.5倍
plt.show()


第三步

#用到的方法與參數
# plt.xticks([],[])
# plt.yticks([],[])
# plt.title('',color,color,..) #設置標題,里面的相關參數可以# 指定
# plt.text(備注內容x軸的坐標,備注內容y軸的坐標 ,'備注內容',fontsize,color,..) #給右下角添加備注

#想說的說這里面有連個參數,分別以列表的形式展示。
現在只需要介紹是用來設置坐標刻度的。其中第二個參數列表
是用來轉義的。具體實例如下。

下面展示一些 內聯代碼片

在x軸的刻度上,我們需要我們需要按照規則的正余弦刻度來,而不是簡單的實數,我們需要圓周率。因此在plt.xticks([],[])的第二個列表參數上需要轉義。

#這里的r'$代表開始,$代表結尾,\代表轉義,\pi代表圓周率的意思,r代表原始字符串。因此可以一一對應下來的。

plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],
[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
plt.yticks([-1,0,1])
plt.title("繪圖正余弦函數曲線圖",fontsize = 16,color ='green')
#給圖片右下角添加備注標簽
plt.text(+2.2,-1.4,"by:jgdabc",fontsize=16,color = 'purple')
plt.show()


第四步:

用到的方法及參數:
plt.gca()#這個方法有點東西。
我要簡單的去理解,Python庫太繁雜了。有點頭大。
plt.gca(),可以獲得axes對象
什么又是axes對象?
在matplotlib中,整個圖表為一個figure對象。每個figure
對象中可以包含一個或多個axes,而axes為坐標軸。每個axes
對象都是一個擁有自己坐標系統的繪圖區域。我們可以理解為通
過這個方法我們可以獲得axes對象,而通過這個對象可以幫助我們
方便的操作坐標軸,ok。具體操作看實例吧!

#我相信能看懂英文的不看注釋也可以看懂
ax = plt.gca() #獲取Axes對象
ax.spines['right'].set_color('none') #隱藏右邊界
ax.spines['top'].set_color('none')#隱藏上邊界
ax.xaxis.set_ticks_position('bottom') #x軸坐標刻度設置在坐標下面
ax.spines['bottom'].set_position(('data',0))#將x坐標軸平移經過(0,0)的位置
ax.yaxis.set_ticks_position('left')#將y軸坐標刻度設置在坐標軸左側
ax.spines['left'].set_position(('data',0))#將y軸坐標軸平移到(0,0)位置
plt.show()

兄弟們是不是有點像了,還不夠。


第五步:

用到的方法及參數:

plt.legend()

添加圖例

這樣才會把我上述label的內容顯示出來。

plt.legend(loc ='upper left',fontsize=12)
plt.show()

第六步
注意第六步我們要描點,并畫線

用到的方法及參數
plt.plot() # 這個前面已經有說明,不再贅述,這里我們
要加一個參數linewidth指定,將其變為虛線
plt.scatter() #用來繪制兩個點的位置
plt.annotate #用來添加注釋文字,具體解釋我們在實例代碼中說明

```javascript
t1 = 2*np.pi/3 #取一個x軸坐標點
t2 = -np.pi # 取第二個坐標點
#根據畫線,第一個列表是x軸坐標值,第二個列表是y軸坐標值
plt.plot([t1,t1],[0,np.sin(t1)],color = 'b',linewidth = 1.5,linestyle = '--')
#畫線
plt.plot([t2,t2],[0,np.cos(t2)],color ='r',linewidth=1.5,linestyle="--")
#標注兩個點的位置(繪制散點圖的方法)
plt.scatter([t1,],[np.sin(t1),],50,color = 'b') #50為指定的大小
#為圖表添加注釋
plt.scatter([t2,],[np.cos(2),],50,color = 'r')
plt.annotate( r'$\sin(\frac{2\pi}{3}=\frac{\sqrt{3}}{2}$)',
       xy = (t1,np.sin(t1)), #點的位置
       xycoords = 'data', #注釋文字的偏移量
       xytext = (+10,+30), #文字離點的橫縱距離
       textcoords = 'offset points',
       fontsize =14,#注釋的大小
       arrowprops = dict(arrowstyle = '->',connectionstyle = 'arc3,rad=.2')#箭頭指向的彎曲度


)
plt.annotate(r'$\cos(-\pi)=-1$',
       xy = (t2,np.cos(t2)),
       xycoords = 'data', #注釋文字的偏移量
       xytext = (0 ,-40), # 文字離點的橫縱距離
       textcoords = 'offset points',
       fontsize = 14,#注釋的大小
       arrowprops = dict(arrowstyle = '->',connectionstyle='arc3,rad=.2')

       ) #點的位置

plt.show()


第七步:我想設置一下x軸和y軸的字體,一提到軸,就用ax.
我們直接上代碼去解釋

#遍歷獲取x軸和y軸的刻度,并設置字體
for label in ax.get_xticklabels() + ax.get_yticklabels() :
  label.set_fontsize(18)
  label.set_bbox(dict(facecolor = 'r',edgecolor='g',alpha=0.5))#alpha代表透明度
#繪制填充區域
plt.fill_between(x,np.abs(x)0.5,sin,sin>0.5,color='g',alpha =0.8)
plt.fill_between(x,cos,where = (-2.5x)(x-0.5),color = 'purple')
plt.grid() #繪制網格線

plt.savefig("D:\python學習數據可視化matplot學習.png",dpi = 300)保存圖片
plt.show()


注意這里保存一定要先保存,后show。

最終效果


給大家完整代碼

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x = np.linspace(-np.pi,np.pi,256,endpoint=256)
sin,cos = np.sin(x),np.cos(x)
plt.plot(x,sin,color = 'blue',lw=2.5,label = '正弦sin',mec='red')
plt.plot(x,cos,color = 'red',lw = 2.5,label = '余弦cos()')
plt.xlim(x.min()*1.5,x.max()*1.5)
plt.ylim(cos.min()*1.5,cos.max()*1.5)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
plt.yticks([-1,0,1])
plt.title("繪圖正余弦函數曲線圖",fontsize = 16,color ='green')
plt.text(+2.2,-1.4,"by:jgdabc",fontsize=16,color = 'purple')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
plt.legend(loc ='upper left',fontsize=12)
t1 = 2*np.pi/3
t2 = -np.pi

plt.plot([t1,t1],[0,np.sin(t1)],color = 'b',linewidth = 1.5,linestyle = '--')

plt.plot([t2,t2],[0,np.cos(t2)],color ='r',linewidth=1.5,linestyle="--")

plt.scatter([t1,],[np.sin(t1),],50,color = 'b')

plt.scatter([t2,],[np.cos(2),],50,color = 'r')
plt.annotate( r'$\sin(\frac{2\pi}{3}=\frac{\sqrt{3}}{2}$)',
       xy = (t1,np.sin(t1)),
       xycoords = 'data',
       xytext = (+10,+30),
       textcoords = 'offset points',
       fontsize =14,
       arrowprops = dict(arrowstyle= '->',connectionstyle = 'arc3,rad=.2')#箭頭指向的彎曲度


)
plt.annotate(r'$\cos(-\pi)=-1$',
       xy = (t2,np.cos(t2)),
       xycoords = 'data',
       xytext = (0 ,-40),
       textcoords = 'offset points',
       fontsize = 14,
       arrowprops = dict(arrowstyle = '->',connectionstyle='arc3,rad=.2')

       )
for label in ax.get_xticklabels() + ax.get_yticklabels() :
  label.set_fontsize(18)
  label.set_bbox(dict(facecolor = 'r',edgecolor='g',alpha=0.5))

plt.fill_between(x,np.abs(x)0.5,sin,sin>0.5,color='g',alpha =0.8)
plt.fill_between(x,cos,where = (-2.5x)(x-0.5),color = 'purple')
plt.grid()

plt.savefig("D:\python學習數據可視化matplot學習.png",dpi = 300)
plt.show()


到此這篇關于matplotlib繪制正余弦曲線圖的實現的文章就介紹到這了,更多相關matplotlib 正余弦曲線圖內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python matplotlib 繪制雙Y軸曲線圖的示例代碼
  • matplotlib 曲線圖 和 折線圖 plt.plot()實例

標簽:烏蘭察布 平頂山 烏蘭察布 大慶 合肥 郴州 海南 哈爾濱

巨人網絡通訊聲明:本文標題《matplotlib繪制正余弦曲線圖的實現》,本文關鍵詞  matplotlib,繪制,正,余弦,曲線圖,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《matplotlib繪制正余弦曲線圖的實現》相關的同類信息!
  • 本頁收集關于matplotlib繪制正余弦曲線圖的實現的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 和黑大佬的365天第二部完整版| 欧美极品婬乱A片无码放荡老师| 边摸边吃奶边做激情叫床视频,| 金庸群侠传x全员怀孕| 使劲?用力?深一点视频| 国产免费叼嘿片视频试看| 一代女皇武则天一级艳芳史| 欧美18VideOSeX性欧美| 山村美人双性受糙汉攻| 名器奶婬H肉承欲欢np动漫视频| 色免费网站| 免费的看片软件| 攵女h伦最最爱h| 午夜三级a三级三点在线观看| 忍着尿意在车上摩擦h| 国产高清不卡视频在线播放| 女人扒开屁股爽桶30分钟麻豆| 大老粗与小蛮腰油酥饼| 宝贝腿打开| 久久无码国产| 女人脱个精光秘? 图片| 久久久精品一级毛片免费观看| 金梅瓶| 另类 校园 春色 小说区| 为了升职献给张行长全文| 少妇大叫太大太粗太爽了A片软件| 在线观看精品视频播放| 中文字幕精品无码亚洲电影| 动漫gaysex男同cartoon| 久久精品欧美一区二区三区不卡| 国产精品视频yy9099| av无码精品久久久久精品| 特大黑异吊视频| 99精品wwxx在线观看| 国产精品扒开腿做爽爽的漫画男男| 男女猛烈无遮挡gif动态图| chinesevideo人体私拍| 日产精品一区二区免费| 爱爱小视频| 120秒动态图| 亲爱的老师|