python画图中grid等于true_Python中的matplotlib画图总结
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from numpy.random import randn
import numpy as np
from io import StringIO
import pandas as pd
'''
#Create figure
fig = plt.figure()
#創(chuàng)建子圖subplot: 表示2X2,即4個(gè)子圖中的第1個(gè)圖,編號(hào)為1
#參數(shù):nrows, ncols, sharex(所有子圖是否使用相同的x軸),sharey,subplot_kw(用于創(chuàng)建各subplot的關(guān)鍵字字典)
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2) #第二個(gè)子圖,編號(hào)為2
ax3 = fig.add_subplot(2,2,3) #第三個(gè)制圖,編號(hào)為3
plt.plot(randn(50).cumsum(), 'ko--') #在最后一個(gè)圖中畫線,k代表顏色,o表示每個(gè)數(shù)據(jù)點(diǎn)上加粗,強(qiáng)調(diào)實(shí)際的數(shù)據(jù)點(diǎn),--代表樣式
ax1.hist(randn(1000), bins=20, color='k', alpha=0.3) #設(shè)置在ax1中畫柱狀圖
ax2.scatter(np.arange(30), np.arange(30) + 3 * randn(30)) #設(shè)置在ax2中畫散點(diǎn)圖
#比較便攜的方式, 直接返回figure和axes數(shù)組,2個(gè)figure,每個(gè)figure有3個(gè)subplot
#fig, axes = plt.subplots(2,3)
#修改圖外圍留下的邊距和子圖之間的邊距,前四個(gè)代表外圍邊距,wspace代表左右間距,hspace上下間距
plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
#返回當(dāng)前X軸繪圖范圍
print plt.xlim()
print ax1.get_xlim()
#設(shè)置x軸范圍
plt.xlim([0,10])
ax1.set_xlim([0,10])
#設(shè)置刻度與刻度標(biāo)簽
ticks = ax1.set_xticks([0,5,10,15,20])
labels = ax1.set_xticklabels(['one','two','three','four','five'])
#設(shè)置圖標(biāo)title和x軸名稱
ax1.set_title('XXXXXXX')
ax1.set_xlabel('XXX')
#添加圖例
ax1.plot(randn(1000).cumsum(), 'k--', label='one') #不需要圖例,則無(wú)需label參數(shù)
ax1.legend(loc='best') #'best'表示見(jiàn)圖里放在最不礙眼的地方
#添加注解,通過(guò)text,arrow和annotate等添加
ax1.text(100,30,'Hello',family='monospace', fontsize=10)
ax1.annotate( 'Hello', xy=(100,10), xytext=(100,30), arrowprops=dict(facecolor='black'),horizontalalignment='left', verticalalignment='top' )
plt.show() #顯示圖表
#保存圖表到文件
#plt.savefig('figPath.svg/pdf/png', dpi=400, bbox_inches='tight')
#保存圖表到IO
#buffer = StringIO()
#plt.savefig(buffer)
'''
'''
pandas 繪圖
'''
df = pd.DataFrame(np.random.randn(10,4).cumsum(0), columns=['A','B','C','D'],
index=np.arange(0,100,10))
#Series.plot參數(shù)
#label,ax,style='ko--',alpha
#kind='line/bar/barh/kde(密度圖,標(biāo)準(zhǔn)混合正態(tài)分布KDE)'
#loyg=True y軸使用對(duì)數(shù)標(biāo)尺
#use_index=True 將對(duì)象的索引用作刻度標(biāo)簽
#rot 旋轉(zhuǎn)刻度標(biāo)簽
#xticks,yticks,x,y的刻度值
#xlim=[0,10] X軸的界限
#ylim=[0,10] Y軸的界限
#grid=True 網(wǎng)格線,默認(rèn)打開(kāi)
#DataFrame.plot參數(shù)
#subplots=True:將各個(gè)DataFrame列繪制到單獨(dú)的subplot中
#sharex,sharey
#figsize:表示圖新鮮大小的元祖
#title,legend,默認(rèn)為True
#sort_columns:以字母表為順序繪制
#stacked=True:每行的值就會(huì)堆積
df.plot( kind='kde', stacked=True)
#plt.scatter(x,y)
#DataFrame創(chuàng)建散布圖矩陣,還支持在對(duì)角線上放置各變量的直方圖或密度圖
pd.scatter_matrix(df, diagonal='kde', color='k', alpha=0.3)
plt.show()
總結(jié)
以上是生活随笔為你收集整理的python画图中grid等于true_Python中的matplotlib画图总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qt 生成bin文件
- 下一篇: python 生成payload_利用P