思路:用open打開文件,再用a=filename.readlines()提取每行的數據作為列表的值,然后傳遞列表給matplotlib並引入對應庫畫出圖像
代碼實現:
import matplotlib.pyplot as plt
n=0 #定義作為后面修改列表的索引
with open(r'C:\Users\Administrator\Desktop\test.txt') as text:
a=text.readlines() #提取文檔里面的每行作為列表的值:一行對應列表里的一個值
for i in a:
i=i.rstrip() #去分行符
a[n]=int(i) #轉化為整型,本身提取出來的是字符串,傳遞給畫圖函數會得不到實際效果
n=n+1 #每循環一次更新索引,這樣就可以每次循環都更改列表里面的值
print(i)
print(a)
plt.plot(a) #畫圖函數plt.plot(a,linewidth=5)>linewidth設置線條粗細
plt.title("cs") #設置標題,但是不支持文字
plt.xlabel("month",fontsize=14) 設置x軸標題欄 不支持文字
plt.ylabel("pay",fontsize=14) 設置y軸標題欄 不支持文字
plt.tick_params(axis='both',labelsize=14) 設置卡尺數字的大小
plt.axis([0,10,0,100]) # axis函數制定坐標軸范圍,要求四個參數,前兩個是X軸
plt.show()
import matplotlib.pyplot as plt
n=0
with open(r'C:\Users\Administrator\Desktop\test.txt') as text:
a=text.readlines()
for i in a:
i=i.rstrip()
a[n]=int(i)
n=n+1
print(i)
print(a)
plt.plot(a,linewidth=5)
plt.title("cs")
plt.xlabel("month",fontsize=14)
plt.ylabel("pay",fontsize=14)
plt.tick_params(axis='both',labelsize=4)
plt.axis([0,10,0,100])
plt.show()
外部兩個表分別做x,y的實現
對應代碼
import matplotlib.pyplot as plt
#以外部兩個txt表分別作為x,y畫圖
n=0
m=0
with open(r'C:\Users\Administrator\Desktop\test.txt') as text:
a=text.readlines()
with open(r'C:\Users\Administrator\Desktop\tet.txt') as tet:
month=tet.readlines()
for i in a:
i=i.rstrip()
a[n]=int(i)
n=n+1
print(i)
for i in month:
i=i.rstrip()
month[m]=int(i)
m=m+1
print(a)
print(month)
plt.plot(month,a,linewidth=5)#自定義x,y的取值范圍,以及線條粗細
plt.title("cs")
plt.xlabel("month",fontsize=14)
plt.ylabel("pay",fontsize=14)
plt.tick_params(axis='both',labelsize=10)
plt.show()
