python绘制折线图中文图例不显示_python使用matplotlib绘图时图例显示问题的解决...
前言
matplotlib是基于Python語言的開源項(xiàng)目,旨在為Python提供一個(gè)數(shù)據(jù)繪圖包。在使用Python matplotlib庫繪制數(shù)據(jù)圖時(shí),需要使用圖例標(biāo)注數(shù)據(jù)類別,但是傳參時(shí),會(huì)出現(xiàn)圖例解釋文字只顯示第一個(gè)字符,需要在傳參時(shí)在參數(shù)后加一個(gè)逗號(hào)(應(yīng)該是python語法,加逗號(hào),才可以把參數(shù)理解為元組類型吧),就可解決這個(gè)問題,
示例如下
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
from pylab import mpl
xmajorLocator = MultipleLocator(24 * 3) #將x軸主刻度標(biāo)簽設(shè)置為24 * 3的倍數(shù)
ymajorLocator = MultipleLocator(100 * 2) #將y軸主刻度標(biāo)簽設(shè)置為100 * 2的倍數(shù)
# 設(shè)置中文字體
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 導(dǎo)入文件數(shù)據(jù)
data = np.loadtxt('H:/dataset/爸爸去哪兒/統(tǒng)計(jì)數(shù)據(jù)_每小時(shí)_ba.csv', delimiter=',', dtype=int)
# 截取數(shù)組數(shù)據(jù)
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坐標(biāo)軸的網(wǎng)格使用主刻度
ax.yaxis.grid(True, which='major') #x坐標(biāo)軸的網(wǎng)格使用主刻度
plt.xlabel('時(shí)間索引')
plt.ylabel('活動(dòng)頻數(shù)')
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軸主刻度標(biāo)簽設(shè)置為24 * 3的倍數(shù)
ymajorLocator = MultipleLocator(100 * 2) #將y軸主刻度標(biāo)簽設(shè)置為100 * 2的倍數(shù)
# 設(shè)置中文字體
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 導(dǎo)入文件數(shù)據(jù)
data = np.loadtxt('H:/dataset/爸爸去哪兒/統(tǒng)計(jì)數(shù)據(jù)_每小時(shí)_ba.csv', delimiter=',', dtype=int)
# 截取數(shù)組數(shù)據(jù)
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坐標(biāo)軸的網(wǎng)格使用主刻度
ax.yaxis.grid(True, which='major') #x坐標(biāo)軸的網(wǎng)格使用主刻度
plt.xlabel('時(shí)間索引')
plt.ylabel('活動(dòng)頻數(shù)')
plt.title('折線圖')
plt.xlim(0, 1152)
plt.ylim(0, 2200)
#plt.plot(x, y, 'rs-')
line1 = ax.plot(x, y, 'b.-')
ax.legend(line1, ('微博',)) # 多加一個(gè)逗號(hào)
plt.show()
顯示效果如下
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用python能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
總結(jié)
以上是生活随笔為你收集整理的python绘制折线图中文图例不显示_python使用matplotlib绘图时图例显示问题的解决...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 索尼的笔记本怎么进bios 索尼笔记本如
- 下一篇: python 常见函数_Python基础