<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
# 01 matplotlib安裝情況 import matplotlib matplotlib.__version__
請點選:圖表主題設定
import numpy as np from matplotlib import pyplot as plt # 如何使用中文標題 plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 x = np.arange(1,11) y = 2 * x + 5 # 圖片顯示的是這個公式 plt.title("Matplotlib展示") plt.xlabel("x軸") plt.ylabel("y軸") plt.plot(x,y) plt.show()
建立一個關於電影票房的圖表:
films=['穿過寒冬擁抱你','反貪風暴5:最終章','李茂扮太子','誤殺2','以年為單位的戀愛','駭客帝國:矩陣重啟','雄獅少年','魔法滿屋','汪汪隊立大功大電影','愛情神話'] regions=['中國','英國','澳大利亞','美國','美國','中國','英國','澳大利亞','美國','美國'] bos=['61,181','44,303','42,439','22,984','13,979','61,181','44,303','41,439','20,984','19,979'] persons=['31','23','56','17','9','31','23','56','17','9'] prices=['51','43','56','57','49','51','43','56','57','49'] showdate=['2022-12-03','2022-12-05','2022-12-01','2022-12-02','2022-11-05','2022-12-03','2022-12-05','2022-12-01','2022-12-02','2022-11-05'] ftypes=['劇情','動作','喜劇','劇情','劇情','愛情','動作','動畫','動畫','動畫'] points=['8.1','9.0','7.9','6.7','3.8','8.1','9.0','7.9','6.7','3.8'] filmdescript={ 'ftypes':ftypes, 'bos':bos, 'prices':prices, 'persons':persons, 'regions':regions, 'showdate':showdate, 'points':points }
import numpy as np import pandas as pd cnbo2021top5=pd.DataFrame(filmdescript,index=films) cnbo2021top5[['prices','persons']]=cnbo2021top5[['prices','persons']].astype(int) cnbo2021top5['bos']=cnbo2021top5['bos'].str.replace(',','').astype(int) cnbo2021top5['showdate']=cnbo2021top5['showdate'].astype('datetime64') cnbo2021top5['points']=cnbo2021top5['points'].apply(lambda x:float(x) if x!='' else 0)
關於cnboo1.xlsx,我放在我的碼雲裡,需要的朋友自行下載:cnboo1.xlsx
# 讀取並初步整理資料集 import pandas as pd cnbodf=pd.read_excel('cnboo1.xlsx') cnbodfsort=cnbodf.sort_values(by=['BO'],ascending=False)
def mkpoints(x,y): # 編寫points評分 return len(str(x))*(y/25)-3 cnbodfsort['points']=cnbodfsort.apply(lambda x:mkpoints(x.BO,x.PERSONS),axis=1)
cnbodfsort.to_excel("cnbodfsort.xlsx",index=False) # 建立一個Excel檔案
from matplotlib import pyplot as plt plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 plt.title("票房2021TOP5") plt.xlabel("x軸") plt.ylabel("y軸") x=cnbo2021top5.persons.sort_values() y=cnbo2021top5.prices.sort_values() plt.plot(x,y,marker=".",markersize=20,color='red',linewidth=4,markeredgecolor='blue') plt.show()
# 折線圖進階 from matplotlib import pyplot as plt plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 plt.title("中國票房2021TOP5") plt.plot(bo,prices,label='票房與票價') plt.plot(bo,persons,label='票房與人次') plt.plot(bo,points,label='票房與評價') plt.legend() # 顯示標籤 plt.xlabel('票房') # 橫座標軸 plt.ylabel('行情') # 縱座標軸 plt.show()
更改一下版式
# 折線圖進階 from matplotlib import pyplot as plt plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 plt.title("中國票房2021TOP5") plt.plot(bo,prices,'r^--',label='票房與票價') plt.plot(bo,persons,'g*-',label='票房與人次') plt.plot(bo,points,color='blue',marker='o',markersize=10,label='票房與評價') plt.legend() # 顯示標籤 plt.xlabel('票房') # 橫座標軸標題 plt.ylabel('行情') # 縱座標軸標題 plt.show()
填充折線圖:當確定一條傳輸線上面的一點的時候,能夠將該點的上下兩部分分別使用不同的顏色填充。
dev_x=[25,26,27,28,29,30] # 開發者的年齡 dev_y=[7567,8789,8900,11560,16789,25231] #收入情況 py_dev_y=[5567,6789,9098,15560,20789,23231] # python開發者 js_dev_y=[6567,7789,8098,12356,14789,20231] # java開發者 devsalary=pd.DataFrame([dev_x,dev_y,py_dev_y,js_dev_y]) devsalaryT=pd.DataFrame(devsalary.values.T,columns=["Age","Dev","Python","Java"])
# 繪製帶陰影的折線圖 from matplotlib import pyplot as plt plt.style.use('classic') plt.figure(figsize=(7,4)) plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 plt.title("開發人員薪資情況") baseline=10000 plt.plot(devsalaryT["Age"],devsalaryT["Dev"],label="總體薪資") plt.plot(devsalaryT["Age"],devsalaryT["Python"],label="Python薪資") # 如果沒有label是不會顯示legend的資料標籤的 plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],baseline,where=(devsalaryT["Python"]>baseline),interpolate=True,color='yellow') plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],baseline,where=(devsalaryT["Python"]<=baseline),interpolate=True,color='red') plt.grid() plt.legend() plt.show()
# 繪製帶陰影的折線圖 from matplotlib import pyplot as plt plt.style.use('classic') plt.figure(figsize=(7,4)) plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 plt.title("開發人員薪資情況") baseline=10000 plt.plot(devsalaryT["Age"],devsalaryT["Dev"],label="總體薪資") plt.plot(devsalaryT["Age"],devsalaryT["Python"],label="Python薪資") # 如果沒有label是不會顯示legend的資料標籤的 plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],baseline,where=(devsalaryT["Python"]>baseline),interpolate=True,color='yellow',alpha=0.3) plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],baseline,where=(devsalaryT["Python"]<=baseline),interpolate=True,color='red',alpha=0.3) # alpha=0.3調整透明度 plt.grid() plt.legend() plt.show()
# 繪製帶陰影的折線圖 from matplotlib import pyplot as plt plt.style.use('classic') plt.figure(figsize=(7,4)) plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 plt.title("開發人員薪資情況") baseline=10000 plt.plot(devsalaryT["Age"],devsalaryT["Dev"],label="總體薪資") plt.plot(devsalaryT["Age"],devsalaryT["Python"],label="Python薪資") # 如果沒有label是不會顯示legend的資料標籤的 plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],baseline,where=(devsalaryT["Python"]>baseline),interpolate=True,color='pink',alpha=0.7,label="高於10000元") plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],baseline,where=(devsalaryT["Python"]<=baseline),interpolate=True,color='purple',alpha=0.7,label="低於或等於10000元") # alpha=0.3調整透明度 plt.grid() plt.legend() plt.show()
interpolate=True:將交叉的位置進行填充
# 繪製帶陰影的折線圖 from matplotlib import pyplot as plt plt.style.use('classic') plt.figure(figsize=(7,4)) plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字型 plt.title("開發人員薪資情況") plt.plot(devsalaryT["Age"],devsalaryT["Dev"],label="總體薪資") plt.plot(devsalaryT["Age"],devsalaryT["Python"],label="Python薪資") # 如果沒有label是不會顯示legend的資料標籤的 plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],devsalaryT["Dev"],where=(devsalaryT["Python"]>baseline),interpolate=True,color='green',alpha=0.7,label="高於總體") plt.fill_between(devsalaryT["Age"],devsalaryT["Python"],devsalaryT["Dev"],where=(devsalaryT["Python"]<=baseline),interpolate=True,color='tomato',alpha=0.7,label="低於或等於總體") # alpha=0.3調整透明度 plt.grid() plt.legend() plt.show()
到此這篇關於Python matplotlib實現折線圖的繪製的文章就介紹到這了,更多相關Python matplotlib折線圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45