一般的な中国のいくつかの例matplotlibの治療
技術のいくつかは、多くの場合、タイミングチャートを処理する適切な方法でx軸上に中国語を表示するために必要な時間を含む場合。
この問題は非常に小さいですが、理由はプロの理由により、多くの場合、x軸上の時間の多様性を示すが、例えば、月だけを示して-日-時に、この型破りx軸ラベル、および割合は占め絵の一部を要求しました大きすぎない、そうでない場合は外観に影響を与えます。そして、x軸に処理時間をネットワークは比較的小さく、ローカル書き込みレコード数。
これは、レコードmatplotlibの治療のブログですが、おそらく再び(のみ特定の懐かしさとだけビンで3年間のマスターのキャリアに乗って、そして最終的にこのブログのために提供材料によってあなたに非常にエキサイティングな仕事や日常ハラスメントに感謝します彼は)あまり偽善ハッハッハドライであると言われています。
重要なポイント
- インポートパラメータが中国語で表示することができます
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
-
x軸の書式を設定することにより、外観を表示するように回転(OCDが必要になりますしました)
ax1.xaxis.set_major_formatter(mdate.DateFormatter('%H:%M')) plt.xticks(rotation=30)
入力されたデータ、およびコードの結果
- データ入力の部分だけは、あまりにも外観に影響を与え、読者はハッハッハ脳を構成するために必要
4:15,7,1,1 4:30,53,21,46 4:45,673,433,588 5:00,2449,1711,2209 5:15,5555,4522,5094 5:30,8854,8710,9431 5:45,12886,14687,13918 6:00,16459,23762,20121 6:15,20542,37169,26034 6:30,24708,59783,34398 6:45,28093,88462,43049 7:00,30505,134718,51161 7:15,32046,180216,59468 7:30,35503,215490,64192 7:45,39600,239502,70168 8:00,43334,228761,73596 8:15,45938,202122,72283 8:30,45756,167016,68193 8:45,46982,138231,64956
-
コード
import pandas as pd import numpy as np from datetime import datetime import matplotlib.dates as mdate import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 def convert(strAim): t = strAim.split(":") h, m, s = int(t[0]),float(t[1])/60.0,float(t[2])/3600.0 return h+m+s def draw(addressIn,addressOut): df =pd.read_csv(addressIn,header = None) #print(df.head()) x = [] y1 = [] y2 = [] y3 = [] for i in range(len(df)): tx = datetime.strptime('2017-8-1 '+df.iloc[i][0], '%Y-%m-%d %H:%M') x.append(tx) y1.append(df.iloc[i][1]) y2.append(df.iloc[i][2]) y3.append(df.iloc[i][3]) fig1 = plt.figure(figsize=(12,6))#figsize=(16,8) ax1 = fig1.add_subplot(1,1,1) ax1.plot(x,y1,color='green',label='假期')#折线图 ax1.plot(x,y2,color='black',label='工作日') ax1.plot(x,y3,color='red',ls='--',label='非工作日') ax1.xaxis.set_major_formatter(mdate.DateFormatter('%H:%M')) #plt.xticks(pd.timedelta_range(start='05:00:00.000000', periods=38, freq='30T'),rotation=90) #plt.xticks(x) plt.xticks(rotation=30) #plt.ylim(0,6000000) #ax1.set_title('全天') ax1.set_xlabel('时间') ax1.set_ylabel('日客流量(人次)') plt.legend(loc='upper right') plt.subplots_adjust(left=0.2, bottom=0.2, right=0.8, top=0.8) plt.savefig('pic%s.png'%(addressOut),dpi=100) if __name__ == '__main__': draw('differDay.csv','differDay')
-
結果が示され