在使用python matplotlib庫繪製數據圖時,需要使用圖例標註數據類別,但是傳參時,會出現圖例解釋文字只顯示第一個字符,需要在傳參時在參數後加一個逗號(應該是python語法,加逗號,纔可以把參數理解爲元組類型吧),就可解決這個問題,示例如下
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
from pylab import mpl
xmajorLocator = MultipleLocator(24 * 3) #將x軸主刻度標籤設置爲24 * 3的倍數
ymajorLocator = MultipleLocator(100 * 2) #將y軸主刻度標籤設置爲100 * 2的倍數
# 設置中文字體
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 導入文件數據
data = np.loadtxt('H:/dataset/爸爸去哪兒/統計數據_每小時_ba.csv', delimiter=',', dtype=int)
# 截取數組數據
x = data[:, 0]
y = data[:, 1]
plt.figure(num=1, figsize=(8, 6))
ax = plt.subplot(111)
ax.xaxis.set_major_locator(xmajorLocator)
ax.yaxis.set_major_locator(ymajorLocator)
ax.xaxis.grid(True, which='major') #x座標軸的網格使用主刻度
ax.yaxis.grid(True, which='major') #x座標軸的網格使用主刻度
plt.xlabel('時間索引')
plt.ylabel('活動頻數')
plt.title('折線圖')
plt.xlim(0, 1152)
plt.ylim(0, 2200)
#plt.plot(x, y, 'rs-')
line1 = ax.plot(x, y, 'b.-')
ax.legend(line1, ('微博'))
plt.show()
顯示效果如下
代碼修改
from pylab import mpl
xmajorLocator = MultipleLocator(24 * 3) #將x軸主刻度標籤設置爲24 * 3的倍數
ymajorLocator = MultipleLocator(100 * 2) #將y軸主刻度標籤設置爲100 * 2的倍數
# 設置中文字體
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 導入文件數據
data = np.loadtxt('H:/dataset/爸爸去哪兒/統計數據_每小時_ba.csv', delimiter=',', dtype=int)
# 截取數組數據
x = data[:, 0]
y = data[:, 1]
plt.figure(num=1, figsize=(8, 6))
ax = plt.subplot(111)
ax.xaxis.set_major_locator(xmajorLocator)
ax.yaxis.set_major_locator(ymajorLocator)
ax.xaxis.grid(True, which='major') #x座標軸的網格使用主刻度
ax.yaxis.grid(True, which='major') #x座標軸的網格使用主刻度
plt.xlabel('時間索引')
plt.ylabel('活動頻數')
plt.title('折線圖')
plt.xlim(0, 1152)
plt.ylim(0, 2200)
#plt.plot(x, y, 'rs-')
line1 = ax.plot(x, y, 'b.-')
ax.legend(line1, ('微博',)) # 多加一個逗號
plt.show()
顯示效果如下