300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python画图中grid等于true_Python中的matplotlib画图总结

python画图中grid等于true_Python中的matplotlib画图总结

时间:2024-06-16 09:10:44

相关推荐

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()

#创建子图subplot: 表示2X2,即4个子图中的第1个图,编号为1

#参数:nrows, ncols, sharex(所有子图是否使用相同的x轴),sharey,subplot_kw(用于创建各subplot的关键字字典)

ax1 = fig.add_subplot(2,2,1)

ax2 = fig.add_subplot(2,2,2) #第二个子图,编号为2

ax3 = fig.add_subplot(2,2,3) #第三个制图,编号为3

plt.plot(randn(50).cumsum(), 'ko--') #在最后一个图中画线,k代表颜色,o表示每个数据点上加粗,强调实际的数据点,--代表样式

ax1.hist(randn(1000), bins=20, color='k', alpha=0.3) #设置在ax1中画柱状图

ax2.scatter(np.arange(30), np.arange(30) + 3 * randn(30)) #设置在ax2中画散点图

#比较便携的方式, 直接返回figure和axes数组,2个figure,每个figure有3个subplot

#fig, axes = plt.subplots(2,3)

#修改图外围留下的边距和子图之间的边距,前四个代表外围边距,wspace代表左右间距,hspace上下间距

plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)

#返回当前X轴绘图范围

print plt.xlim()

print ax1.get_xlim()

#设置x轴范围

plt.xlim([0,10])

ax1.set_xlim([0,10])

#设置刻度与刻度标签

ticks = ax1.set_xticks([0,5,10,15,20])

labels = ax1.set_xticklabels(['one','two','three','four','five'])

#设置图标title和x轴名称

ax1.set_title('XXXXXXX')

ax1.set_xlabel('XXX')

#添加图例

ax1.plot(randn(1000).cumsum(), 'k--', label='one') #不需要图例,则无需label参数

ax1.legend(loc='best') #'best'表示见图里放在最不碍眼的地方

#添加注解,通过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参数

#label,ax,style='ko--',alpha

#kind='line/bar/barh/kde(密度图,标准混合正态分布KDE)'

#loyg=True y轴使用对数标尺

#use_index=True 将对象的索引用作刻度标签

#rot 旋转刻度标签

#xticks,yticks,x,y的刻度值

#xlim=[0,10] X轴的界限

#ylim=[0,10] Y轴的界限

#grid=True 网格线,默认打开

#DataFrame.plot参数

#subplots=True:将各个DataFrame列绘制到单独的subplot中

#sharex,sharey

#figsize:表示图新鲜大小的元祖

#title,legend,默认为True

#sort_columns:以字母表为顺序绘制

#stacked=True:每行的值就会堆积

df.plot( kind='kde', stacked=True)

#plt.scatter(x,y)

#DataFrame创建散布图矩阵,还支持在对角线上放置各变量的直方图或密度图

pd.scatter_matrix(df, diagonal='kde', color='k', alpha=0.3)

plt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。