前言
matplotlib是基于Python語言的開源項目,旨在為Python提供一個數據繪圖包。在使用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()
顯示效果如下
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用python能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。
新聞熱點
疑難解答