matplotlib繪制折線圖的基本配置(萬能模板案例)
前面我們已經(jīng)構(gòu)造了一種圖形可視化的模板了,下面我們直接使用這個模板進行增添和修改,進一步的改善圖形的外觀。
import matplotlib.pyplot as plt
# 畫布
plt.figure(figsize=(9,3), # (寬度 , 高度) 單位inch
dpi=100, # 清晰度 dot-per-inch
facecolor='#CCCCCC', # 畫布底色
edgecolor='black',linewidth=0.2,frameon=True, # 畫布邊框
#frameon=False # 不要畫布邊框
)
# ax = plt.gca()
# ax.plot()
plt.plot()
plt.show()
設置好基本的圖形之后,我們就可以向上面添加一些數(shù)據(jù)了
(圖例放置位置)
"""legend( handles=(line1, line2, line3),
labels=('label1', 'label2', 'label3'),
'upper right')
The *loc* location codes are::
'best' : 0, (currently not supported for figure legends)
'upper right' : 1,
'upper left' : 2,
'lower left' : 3,
'lower right' : 4,
'right' : 5,
'center left' : 6,
'center right' : 7,
'lower center' : 8,
'upper center' : 9,
'center' : 10,"""折線圖案例
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 畫布
plt.figure(figsize=(15,5), # (寬度 , 高度) 單位inch
dpi=100, # 清晰度 dot-per-inch
facecolor='#CCCCCC', # 畫布底色
edgecolor='black',linewidth=0.2,frameon=True, # 畫布邊框
#frameon=False # 不要畫布邊框
)
# 數(shù)據(jù)
x = np.linspace(0, 2 * np.pi, 50)
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame([x,y1,y2]).T
df.columns = ['x','sin(x)','cos(x)']
# 圖形
plt.plot(df['x'],df['sin(x)'],label='sin(x)')
plt.plot(df['x'],df['cos(x)'],label='cos(x)')
# 圖例
plt.legend(loc='lower right') # 不帶參數(shù)的時候,使用圖形的label屬性
# plt.legend(labels=['sin','cos'])
# 標題
#plt.title("sin(x) and cos(x)",loc='center',y=0.85)
# 字體字典
font_dict = {'fontsize': 12, 'fontweight': 'bold', 'color': 'green'}
plt.title("sin(x) and cos(x)",loc='center',y=0.9, fontdict=font_dict)
查看全局參數(shù)
# matplotlib.pyplot的全局參數(shù) plt.rcParams
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 設置中文字體
plt.rcParams['axes.unicode_minus'] = False # 不使用中文減號
plt.rcParams['font.sans-serif'] = 'FangSong' # 設置字體為仿宋(FangSong)
# 畫布
plt.figure(figsize=(15,5), # (寬度 , 高度) 單位inch
dpi=120, # 清晰度 dot-per-inch
facecolor='#CCCCCC', # 畫布底色
edgecolor='black',linewidth=0.2,frameon=True, # 畫布邊框
#frameon=False # 不要畫布邊框
)
# 數(shù)據(jù)
x = np.linspace(0, 2 * np.pi, 50)
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame([x,y1,y2]).T
df.columns = ['x','sin(x)','cos(x)']
# 圖形
plt.plot(df['x'],df['sin(x)'],label='sin(x)')
plt.plot(df['x'],df['cos(x)'],label='cos(x)')
# 圖例
plt.legend()
# 標題
#plt.title("sin(x) and cos(x)",loc='center',y=0.85)
# 字體字典
font_dict = {'fontsize': 10, 'fontweight': 'bold', 'color': 'grey'}
# 中文標題, 默認的字體不支持中文
plt.title("三角函數(shù):正弦和余弦",loc='center',y=0.9, fontdict=font_dict)
改變字體
# 字體字典
font_dict = {'fontsize': 10, 'fontweight': 'bold', 'color': 'grey'}
# 中文標題, 默認的字體不支持中文
plt.title("三角函數(shù):正弦和余弦",loc='center',y=0.9, fontdict=font_dict)
添加X軸和Y軸
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 畫布
plt.figure(figsize=(15,5), # (寬度 , 高度) 單位inch
dpi=120, # 清晰度 dot-per-inch
facecolor='#CCCCCC', # 畫布底色
edgecolor='black',linewidth=0.2,frameon=True, # 畫布邊框
#frameon=False # 不要畫布邊框
)
# 數(shù)據(jù)
x = np.linspace(0, 2 * np.pi, 50) #
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame([x,y1,y2]).T
df.columns = ['x','sin(x)','cos(x)']
# 標題
#plt.title("sin(x) and cos(x)",loc='center',y=0.85)
# 字體字典
font_dict = {'fontsize': 10, 'fontweight': 'bold', 'color': 'black','fontfamily':'KaiTi'}
# 設置全局中文字體
plt.rcParams['font.sans-serif'] = 'KaiTi' # 設置全局字體為中文 楷體
plt.rcParams['axes.unicode_minus'] = False # 不使用中文減號
# 常用中文字體
# 宋體 SimSun
# 黑體 SimHei
# 微軟雅黑 Microsoft YaHei
# 微軟正黑體 Microsoft JhengHei
# 新宋體 NSimSun
# 新細明體 PMingLiU
# 細明體 MingLiU
# 標楷體 DFKai-SB
# 仿宋 FangSong
# 楷體 KaiTi
# 中文標題, 默認的字體不支持中文
plt.title("三角函數(shù):正弦和余弦",loc='center',y=1, fontdict=font_dict)
# Axes 坐標系設置
ax = plt.gca() # 獲取當前坐標系
ax.set_facecolor('#FEFEFE') # 設置坐標系參數(shù)。。。。
#plt.xlabel() => ax.set_xlabel()
# ax.set_facecolor('#EE2211')
# ax.set_alpha(0.15)
# plt.title() => ax.set_title("AX TITLE")
# X軸標簽
plt.xlabel("X軸") # loc: 左中右 left-center-right
# Y軸標簽
plt.ylabel("Y軸") # loc: 上中下 top-center-bottom
# X軸范圍
plt.xlim(0,np.pi) # 只顯示X在0-Pi之間的部分
# Y軸范圍
plt.ylim([0,1.1]) # 只顯示Y在0-1之間的部分
# X軸刻度
xticks = np.array([0,1/4,2/4,3/4,1]) * np.pi # X 軸上刻度的值
labels = ["0",'1/4 Π','1/2 Π','3/4 Π', 'Π'] # X 軸上刻度標簽
plt.xticks(xticks, labels) # 如果沒有傳入labels,直接使用ticks作為labels
# Y軸刻度
yticks = np.arange(0.0,1.2,0.2) # X 軸上刻度的值
plt.yticks(yticks) # 如果沒有傳入labels,直接使用ticks作為labels
# 根據(jù)刻度畫網(wǎng)格線
#plt.grid()
plt.grid(axis='x') # axis: both, x, y 在哪個軸上畫格子
# 圖形
plt.plot(df['x'],df['sin(x)'],label='sin(x)')
plt.plot(df['x'],df['cos(x)'],label='cos(x)')
# 圖例
plt.legend()
# plt.legend(labels=['sin','cos'])
折線圖繪制萬能模板
# 處理數(shù)據(jù)
df = pd.read_csv(r'unemployment-rate-1948-2010.csv',usecols=['Year','Period','Value'])
df.replace('^M','-',regex=True, inplace=True)
df['year_month'] = df['Year'].astype('U') + df['Period']
# 設置畫布和參數(shù)
plt.figure(figsize=(16,4), dpi=130, facecolor='white', edgecolor='black', frameon=True)# 畫布底色
# 添加數(shù)據(jù)
plt.plot(df['year_month'], df['Value'],'c')#改變顏色和線條
'''
一般不需要改動下面的,只需要設置一些固定常量
'''
# 構(gòu)造X軸標簽,一般不用設置
xticks = [df['year_month'][i] for i in np.arange(0,df['year_month'].size,15)]#X軸的顯示
#X軸設置傾斜度,可以解決標簽過長的問題,大小可以設置默認
plt.xticks(xticks,rotation=100,size=10)
# 設置圖形上的各類主題值
plt.suptitle('主標題:unemployment-rate-1948-2010',size=17,y=1.0)
plt.title("繪制日期:2022年 昵稱:王小王-123", loc='right',size=15,y=1)
plt.title("主頁:https://blog.csdn.net/weixin_47723732", loc='left',size=12,y=1)
# 設置坐標軸上的字體標簽
font_dict = {'fontsize': 15, 'fontweight': 'bold', 'color': 'black','fontfamily':'KaiTi'}
plt.xlabel('年月',font_dict)
plt.ylabel('失業(yè)率',font_dict)
到此這篇關(guān)于matplotlib繪制折線圖的基本配置(萬能模板案例)的文章就介紹到這了,更多相關(guān)matplotlib繪制折線圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python使用matplotlib繪制折線圖教程
- python使用matplotlib模塊繪制多條折線圖、散點圖
- matplotlib 曲線圖 和 折線圖 plt.plot()實例
- Python基于Matplotlib庫簡單繪制折線圖的方法示例
- Matplotlib 折線圖plot()所有用法詳解
- python matplotlib折線圖樣式實現(xiàn)過程
- python學習之使用Matplotlib畫實時的動態(tài)折線圖的示例代碼
- Python利用matplotlib繪制折線圖的新手教程
- wxPython+Matplotlib繪制折線圖表
- Python可視化Matplotlib折線圖plot用法詳解
- python使用matplotlib繪制折線圖的示例代碼
- python數(shù)據(jù)可視化之matplotlib.pyplot基礎以及折線圖
相關(guān)文章
tensorflow學習筆記之簡單的神經(jīng)網(wǎng)絡訓練和測試
這篇文章主要為大家詳細介紹了tensorflow學習筆記,用簡單的神經(jīng)網(wǎng)絡來訓練和測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04
Python實現(xiàn)的下載網(wǎng)頁源碼功能示例
這篇文章主要介紹了Python實現(xiàn)的下載網(wǎng)頁源碼功能,涉及Python基于http請求與響應實現(xiàn)的網(wǎng)頁源碼讀取功能相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
Python 數(shù)據(jù)結(jié)構(gòu)之十大經(jīng)典排序算法一文通關(guān)
排序算法可以分為內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存2021-10-10
人工智能——K-Means聚類算法及Python實現(xiàn)
這篇文章主要介紹了人工智能——K-Means聚類算法及Python實現(xiàn),一個能夠找到我圈出的這?些點集的算法,就被稱為聚類算法,下面就來看看文章具體的介紹吧2022-01-01
Python?lambda函數(shù)使用方法深度總結(jié)
在本文中,小編將帶大家學習一下Python中的lambda函數(shù),并探討使用它的優(yōu)點和局限性。文中的示例代碼講解詳細,感興趣的可以了解一下2022-05-05

