1.Matplotlib简介及图表窗口
Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python、numpy、pandas基本数据结构,运营高效且有较丰富的图表库
https://matplotlib.org/api/pyplot_api.html
title为图像标题,Axis为坐标轴, Label为坐标轴标注,Tick为刻度线,Tick Label为刻度注释。
plt.plot( 数组 ) --> 图表窗口 plt.show( ) 、
% matplotlib inline 嵌入图表; ---> plt.scatter(x, y)
% matplotlib notebook 可交互窗口;--->s.plot(style = 'k--o',figsize=(10,5))
% matplotlib qt5可交互性控制台; --->>df.hist(figsize=(12,5),color='g',alpha=0.8)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt # 图表窗口1 → plt.show() plt.plot(np.random.rand(10))
plt.show()
# 直接生成图表
# 图表窗口2 → 魔法函数,嵌入图表 % matplotlib inline
x = np.random.randn(1000)
y = np.random.randn(1000)
plt.scatter(x,y)
# 直接嵌入图表,不用plt.show()
# <matplotlib.collections.PathCollection at ...> 代表该图表对象
# 图表窗口3 → 魔法函数,弹出可交互的matplotlib窗口
% matplotlib notebook
s = pd.Series(np.random.randn(100))
s.plot(style='k--o', figsize=(10, 5))
# 可交互的matplotlib窗口,不用plt.show()
# 可做一定调整
# 图表窗口4 → 魔法函数,弹出matplotlib控制台
% matplotlib qt5
df = pd.DataFrame(np.random.rand(50, 2),columns=['A', 'B'])
df.hist(figsize=(12, 5), color='g', alpha=0.8) # 可交互性控制台
# 如果已经设置了显示方式(比如notebook),需要重启然后再运行魔法函数
# 网页嵌入的交互性窗口 和 控制台,只能显示一个 #plt.close()
# 关闭窗口 #plt.gcf().clear()
# 每次清空图表内内容
2.图表的基本元素
图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等
plt.title(' ') #图名 、plt.xlabel('') #x轴标签、 plt.ylabel('') #y轴标签 、plt.legend(loc='upper right') #就是图例的位置 右上
plt.xlim([0, 12])x轴边界 、plt.ylim([0, 1.5]) y轴边界 、plt.xticks(range(10))设置x刻度 、plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2])设置y刻度
fig.set_xticklabels("%.1f" %i for i in range(10))x轴刻度标签 ,使得其显示1位小数;
fig.set_yticklabels("%.2f" %i for i in [0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2])
xlim范围只是限制图表长度,xticks则是决定显示的标尺,刻度标签set_xticklabels决定显示的小数位数;
# 图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等
df = pd.DataFrame(np.random.rand(10, 2), columns=['A', 'B'])
fig = df.plot(figsize=(6, 4)) # figsize:创建图表窗口,设置窗口大小; # 创建图表对象,并赋值与fig
# 图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等
df = pd.DataFrame(np.random.rand(10, 2), columns=['A', 'B'])
fig = df.plot(figsize=(6, 4)) # figsize:创建图表窗口,设置窗口大小; #创建图表对象,并赋值与fig plt.title('Interesting Graph - Check it out') #图名
plt.xlabel('Plot Number') #x轴标签
plt.ylabel('Important var') #y轴标签
plt.legend(loc='upper right') #就是图例的位置 右上 # 图例的几种显示方式,loc表示位置,分别表示位置。
# 'best' : 0, (only implemented for axes legends)(自适应方式)
# 'upper right' : 1,
# 'upper left' : 2,
# 'lower left' : 3,
# 'lower right' : 4,
# 'right' : 5,
# 'center left' : 6,
# 'center right' : 7,
# 'lower center' : 8,
# 'upper center' : 9,
# 'center' : 10,
plt.xlim([0, 12]) # x轴边界
plt.ylim([0, 1.5]) # y轴边界
plt.xticks(range(10)) # 设置x刻度
plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2]) # 设置y刻度
fig.set_xticklabels("%.1f" %i for i in range(10)) # x轴刻度标签 ,使得其显示1位小数; 小数的显示方式变成字符串的形式显示了。
fig.set_yticklabels("%.2f" %i for i in [0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2]) # y轴刻度标签,使得y轴显示后边再加一位小数,之设置前有一位
# 范围只限定图表的长度,刻度则是决定显示的标尺 → 这里x轴范围是0-12,但刻度只是0-9,刻度标签使得其显示1位小数
# 轴标签则是显示刻度的标签
print(fig, type(fig))
其他元素可视化
弧度制、角度值,正弦/余弦函数
plt.grid(True, linestyle="--", color="gray", linewidth="0.5", axis='x')显示网格
plt.tick_params(bottom='on',top='off',left='on',right='off')就是4个坐标轴的刻度线是往里凸呢还是凹呢;刻度线的方向matplotlib.rcParams['xtick.direction'] = 'out'
frame.axes.get_xaxis().set_visible(False) x轴上的东西都隐藏了呗
plt.axis('off') # 关闭坐标轴
x = np.linspace(-np.pi,np.pi,256,endpoint = True) #pi值的是圆周率 π math.pi
c, s = np.cos(x), np.sin(x) #这里用的是弧度制表示。
plt.plot(x, c)
plt.plot(x, s)
# plt.grid(True, linestyle="--", color="gray", linewidth="0.5", axis='x') # .grid是创建格网
# 通过ndarry创建图表 # 显示网格
# linestyle:线型
# color:颜色
# linewidth:宽度
# axis:x,y,both,显示x/y/两者的格网
plt.tick_params(bottom='on',top='off',left='on',right='off') #就是四个轴有刻度凸显出来,关掉网格线就看出来了
# 刻度显示
import matplotlib # 这里需要导入matploltib,而不仅仅导入matplotlib.pyplot
matplotlib.rcParams['xtick.direction'] = 'out' # 设置刻度的方向: 在里边是in, 显示在外边就是out, 在中间就是inout
matplotlib.rcParams['ytick.direction'] = 'inout'
frame = plt.gca()
frame.axes.get_xaxis().set_visible(False) # False是x/y 轴上的标签都不显示出来,
frame.axes.get_yaxis().set_visible(False)
# plt.axis('off') # 关闭坐标轴
3.图表的样式参数
linestyle、style、color、marker
plt.plot([i**2 for i in range(100)],linestyle = '-.' )
linestyle参数 线型
plt.plot([i**2 for i in range(100)],
linestyle = '-.')
# '-' solid line style
# '--' dashed line style
# '-.' dash-dot line style
# ':' dotted line style
marker参数 线上的点
s.plot(linestyle = '--',marker = '.') 线上的点的形状呗
s = pd.Series(np.random.randn(100).cumsum()) #.cumsum()是累计求和
s.plot(linestyle = '--',
marker = '.')
# '.' point marker
# ',' pixel marker
# 'o' circle marker
# 'v' triangle_down marker
# '^' triangle_up marker
# '<' triangle_left marker
# '>' triangle_right marker
# '1' tri_down marker
# '2' tri_up marker
# '3' tri_left marker
# '4' tri_right marker
# 's' square marker
# 'p' pentagon marker
# '*' star marker
# 'h' hexagon1 marker
# 'H' hexagon2 marker
# '+' plus marker
# 'x' x marker
# 'D' diamond marker
# 'd' thin_diamond marker
# '|' vline marker
# '_' hline marker
color参数颜色
plt.hist(np.random.randn(100),color = 'g',alpha = 0.8) 常用颜色简写:red-r, green-g, black-k, blue-b, yellow-y
df.plot(style = '--.', alpha = 0.8, colormap = 'GnBu') colormap颜色板
plt.hist(np.random.randn(100),
color = 'g',alpha = 0.8)# alpha:0-1,透明度
df = pd.DataFrame(np.random.randn(1000, 4), columns=list('ABCD'))
df = df.cumsum()
df.plot(style = '--.', alpha = 0.8, colormap = 'GnBu')
# colormap:颜色板,包括:
# Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r,
# Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r,
# PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r,
# RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r,
# YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r,
# cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, cubehelix, cubehelix_r, flag, flag_r, gist_earth, gist_earth_r, gist_gray, gist_gray_r,
# gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot,
# gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r, hsv, hsv_r, inferno, inferno_r, jet, jet_r, magma, magma_r, nipy_spectral,
# nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r, prism, prism_r, rainbow, rainbow_r, seismic, seismic_r, spectral,
# spectral_r ,spring, spring_r, summer, summer_r, terrain, terrain_r, viridis, viridis_r, winter, winter_r # 其他参数见“颜色参数.docx”
style参数,可以包含linestyle,marker,color
ts.plot(style = '--g.',grid=True) linestyle(-)线性,marker(.),color(g)颜色,grid=True是显示网格线
ts = pd.Series(np.random.randn(1000).cumsum(), index=pd.date_range('1/1/2000', periods=1000))
ts.plot(style = '--g.',grid=True)
# style → 风格字符串,这里包括了linestyle(-)线性,marker(.),color(g)颜色
# plot()内也有grid参数
整体风格样式
psl.use('ggplot')
import matplotlib.style as psl
print(plt.style.available) # 查看样式列表
psl.use('ggplot')
ts = pd.Series(np.random.randn(1000).cumsum(), index=pd.date_range('1/1/2000', periods=1000))
ts.plot(style = '--g.',grid = True,figsize=(10,6)) #一旦选用样式后,所有图表都会有样式,重启后才能关掉
所有的样式列表--->
['seaborn-bright', 'seaborn-notebook', 'seaborn-darkgrid', 'seaborn-ticks', 'seaborn-poster', 'seaborn-dark', 'grayscale', 'fivethirtyeight',
'seaborn-paper', 'seaborn-whitegrid', 'seaborn-deep', 'ggplot', 'classic', 'bmh', 'dark_background', 'seaborn-colorblind', 'seaborn-white',
'seaborn-muted', 'seaborn-dark-palette', 'seaborn-talk', 'seaborn-pastel']
4.刻度、注解、图表输出
主刻度、次刻度
刻度
subplot(2,2,1) 前面俩参数指定的是一个画板被分割成的行和列,后面一个参数则指的是当前正在绘制的编号!
ax.xaxis.set_major_locator(xmajorLocator)设置x轴主刻度、 xmajorLocator = MultipleLocator(20) 将x主刻度标签设置为20的倍数
ax.xaxis.set_major_formatter(xmajorFormatter)设置x轴标签文本格式 、 xmajorFormatter = FormatStrFormatter('%.0f')设置x轴标签文本的格式
ax.xaxis.set_minor_locator(xminorLocator)设置x轴次刻度、 xminorLocator = MultipleLocator(5) # 将x轴次刻度标签设置为5的倍数
ax.xaxis.grid(True, which='majpr') #x坐标轴的网格使用(就是纵横交错的网格线)主刻度 both、minor(只显示次刻度)、majpr(只显示主刻度)
ax.xaxis.set_major_formatter(plt.NullFormatter()) 删除x坐标轴的刻度显示
from matplotlib.ticker import MultipleLocator, FormatStrFormatter t = np.arange(0.0, 100.0, 1)
s = np.sin(0.1*np.pi*t)*np.exp(-t*0.01)
ax = plt.subplot(111) #注意:一般都在ax中设置,不再plot中设置
plt.plot(t,s,'--*')
plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'both')
# 网格
#plt.legend() # 图例
xmajorLocator = MultipleLocator(20) # 将x主刻度标签设置为10的倍数
xmajorFormatter = FormatStrFormatter('%.0f') # 设置x轴标签文本的格式
xminorLocator = MultipleLocator(5) # 将x轴次刻度标签设置为5的倍数
ymajorLocator = MultipleLocator(0.5) # 将y轴主刻度标签设置为0.5的倍数
ymajorFormatter = FormatStrFormatter('%.1f') # 设置y轴标签文本的格式
yminorLocator = MultipleLocator(0.1) # 将此y轴次刻度标签设置为0.1的倍数 ax.xaxis.set_major_locator(xmajorLocator) # 设置x轴主刻度
ax.xaxis.set_major_formatter(xmajorFormatter) # 设置x轴标签文本格式
ax.xaxis.set_minor_locator(xminorLocator) # 设置x轴次刻度
ax.yaxis.set_major_locator(ymajorLocator) # 设置y轴主刻度
ax.yaxis.set_major_formatter(ymajorFormatter) # 设置y轴标签文本格式
ax.yaxis.set_minor_locator(yminorLocator) # 设置y轴次刻度ax.xaxis.grid(True, which='majpr') #x坐标轴的网格使用(就是纵横交错的网格线)主刻度 both、minor(只显示次刻度)、majpr(只显示主刻度)
ax.yaxis.grid(True, which='minor') #y坐标轴的网格使用次刻度 # which:格网显示 #删除坐标轴的刻度显示
#ax.yaxis.set_major_locator(plt.NullLocator())
# ax.xaxis.set_major_formatter(plt.NullFormatter())
注解
plt.text(5,0.5,'hello',fontsize=10) 参数是注释在坐标系中的位置和大小:(5,0.5)
df = pd.DataFrame(np.random.randn(10,2))
df.plot(style = '--o')
plt.text(5,0.5,'hello',fontsize=10)
# 注解 → 横坐标,纵坐标,注解字符串
图表输出
plt.savefig('C:/Users/Administrator/Desktop/pic.png',
dpi=400, #分表率;
bbox_inches = 'tight', #剪出周围的空白
facecolor = 'g', #图像的背景色
edgecolor = 'b') #图片的edgecolor
df = pd.DataFrame(np.random.randn(1000, 4), columns=list('ABCD'))
df = df.cumsum()
df.plot(style = '--.',alpha = 0.5)
plt.legend(loc = 'upper right')
plt.savefig('C:/Users/Administrator/Desktop/pic.png',
dpi=400,
bbox_inches = 'tight',
facecolor = 'g',
edgecolor = 'b')
# 可支持png,pdf,svg,ps,eps…等,以后缀名来指定
# dpi是分辨率
# bbox_inches:图表需要保存的部分。如果设置为‘tight’,则尝试剪除图表周围的空白部分。
# facecolor,edgecolor: 图像的背景色,默认为‘w’(白色)
5.子图
在matplotlib中,整个图像为一个Figure对象
在Figure对象中可以包含一个或者多个Axes对象
每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域
plt.figure, plt.subplot
# plt.figure() 绘图对象
# plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None,
# frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, **kwargs)
fig1 = plt.figure(num=1,figsize=(4,2))
plt.plot(np.random.rand(50).cumsum(),'k--')
fig2 = plt.figure(num=2,figsize=(4,2))
plt.plot(50-np.random.rand(50).cumsum(),'k--')
# num:图表序号,如果他们两个的序号一样,曲线就会显示在一张图片里边;如果把num都去掉,则跟num=1和num=2是一样的效果。
# figsize:图表大小 # 当我们调用plot时,如果设置plt.figure(),则会自动调用figure()生成一个figure, 严格的讲,是生成subplots(111)
fig.add_subplot(2,2,1)生成创建好的图表figure() 2*2的矩阵表格,第1个个位置 、 plt.plot(np.random.rand(50).cumsum(),'k--')往上边画线,填图
# 子图创建1 - 先建立子图然后填充图表 fig = plt.figure(figsize=(10,6),facecolor = 'gray') ax1 = fig.add_subplot(2,2,1) # 第一行的左图
plt.plot(np.random.rand(50).cumsum(),'k--')
plt.plot(np.random.randn(50).cumsum(),'b--')
# 先创建图表figure,然后生成子图,(2,2,1)代表创建2*2的矩阵表格,然后选择第一个,顺序是从左到右从上到下
# 创建子图后绘制图表,会绘制到最后一个子图 ax2 = fig.add_subplot(2,2,2) # 第一行的右图
ax2.hist(np.random.rand(50),alpha=0.5) ax4 = fig.add_subplot(2,2,4) # 第二行的右图
df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
ax4.plot(df2,alpha=0.5,linestyle='--',marker='.')
# 也可以直接在子图后用图表创建函数直接生成图表
---->
[<matplotlib.lines.Line2D at 0x13bbb240>,
<matplotlib.lines.Line2D at 0x13bbb390>,
<matplotlib.lines.Line2D at 0x13bbb5f8>,
<matplotlib.lines.Line2D at 0x13bbb780>]
fig, axes = plt.subplots(2,3,figsize=(10,4)) 创建2*3个fig图,2*3个数组。--->> ax1 = axes[0,1] ---> ax1.plot(ts) 在[0,1]的图中绘线
# 子图创建2 - 创建一个新的figure,并返回一个subplot对象的numpy数组 → plt.subplot fig,axes = plt.subplots(2,3,figsize=(10,4))
ts = pd.Series(np.random.randn(1000).cumsum())
print(axes, axes.shape, type(axes)) # 生成图表对象的数组,2行3列的数组
print(fig,type(fig)---->>> Figure(720x288) <class 'matplotlib.figure.Figure'>
ax1 = axes[0,1] #表示在第一行第二个图片绘制图线。
ax1.plot(ts)
---------------->>>>>>>>>>
[[<matplotlib.axes._subplots.AxesSubplot object at 0x000000000BB5A4A8>
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000C08B240>
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000C0D6550>]
[<matplotlib.axes._subplots.AxesSubplot object at 0x000000000C10CDD8>
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000C15B160>
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000C190DA0>]] (2, 3) <class 'numpy.ndarray'>
plt.subplots( ),参数调整,是否共享坐标轴
fig, axes = plt.subplots(2, 2, sharex=True, sharey=True)# sharex,sharey:是否共享x,y刻度
fig, axes = plt.subplots(2, 2, sharex=True, sharey=True)# sharex,sharey:是否共享x,y刻度
for i in range(2):
for j in range(2):
axes[i, j].hist(np.random.randn(500), color='k', alpha=0.5)
plt.subplots_adjust(wspace=0,hspace=0)
# wspace,hspace:用于控制宽度和高度的百分比,比如subplot之间的间距
df.plot(style = '--.', alpha=0.4, grid=True, figsize = (8, 8),
subplots = True, #为False时是绘制到了一张图上面
layout = (2,3),# 2*3的矩阵填充图
sharex = False) #不共享x轴
plt.subplots_adjust(wspace=0,hspace=0.2) ##wspace是子图之间的横向间距,hspace是子图之间的竖直间距。
# 子图创建3 - 多系列图,分别绘制
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns = list('ABCD'))
df = df.cumsum()
df.plot(style = '--.', alpha=0.4, grid=True, figsize = (8, 8),
subplots = True, #为False时是绘制到了一张图上面
layout = (2,3),
sharex = False)
plt.subplots_adjust(wspace=0,hspace=0.2) ##wspace是子图之间的横向间距,hspace是子图之间的竖直间距。
# plt.plot()基本图表绘制函数 → subplots,是否分别绘制系列(子图)
# layout:绘制子图矩阵,按顺序填充
05. Matplotlib 1 |图表基本元素| 样式参数| 刻度 注释| 子图的更多相关文章
-
Matplotlib 图表的样式参数
1. import numpy as np import pandas as pd import matplotlib.pyplot as plt % matplotlib inline # 导入相关 ...
-
Matplotlib 图表的基本参数设置
1.图名,图例,轴标签,轴边界,轴刻度,轴刻度标签 # 图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等 df = pd.DataFrame(np.random.rand(10,2),columns= ...
-
matplotlib命令与格式:参数配置文件与参数配置
转自 https://my.oschina.net/swuly302/blog/94805 自定义matplotlib Created Saturday 08 December 2012 5.1 ma ...
-
Python中使用PyCharm为函数及参数增加注释
在函数名中键入数遍光标,左上角亮起小灯泡,点击小灯泡 选中第二行内容 在"""后添加函数注释,以及参数注释 然后再引用函数时,选中函数,Ctrl q 即可显示函数以及参 ...
-
delphi 属性 参数 新注释
delphi 属性 参数 新注释,在写代码的时候,可以自动看到属性.参数的的备注说明,太方便了. Tmyclass=class /// <summary> /// 姓名 /// </ ...
-
caffe-windows之网络描述文件和参数配置文件注释(mnist例程)
caffe-windows之网络描述文件和参数配置文件注释(mnist例程) lenet_solver.prototxt:在训练和测试时涉及到一些参数配置,训练超参数文件 <-----lenet ...
-
python 数据分析 Matplotlib常用图表
Matplotlib绘图一般用于数据可视化 常用的图表有: 折线图 散点图/气泡图 条形图/柱状图 饼图 直方图 箱线图 热力图 需要学习的不只是如何绘图,更要知道什么样的数据用什么图表展示效果最好 ...
-
『Python』matplotlib常用图表
这里简要介绍几种统计图形的绘制方法,其他更多图形可以去matplotlib找examples魔改 1. 柱状图 柱状图主要是应用在定性数据的可视化场景中,或是离散数据类型的分布展示.例如,一个本科班级 ...
-
05:Sysbench压测-innodb_deadlock_detect参数对性能的影响
目录 sysbench压测-innodb_deadlock_detect参数对性能的影响 一.OLTP测试前准备 二.进行OLTP测试 三.测试结果解读: 四.关于测试后的结论: 五.关于测试后的性能 ...
随机推荐
-
sql 注入问题
1. 关于使用intval强制转换成数字的问题.数字大于2147483647会出现溢出出现负数.使用个方法来替代这个吧$n="\n";$a=2147483648.05555;ech ...
-
10分钟掌握XML、JSON及其解析
引言 NOKIA 有句著名的广告语:“科技以人为本”.任何技术都是为了满足人的生产生活需要而产生的.具体到小小的一个手机,里面蕴含的技术也是浩如烟海,是几千年来人类科技的结晶,单个人穷其一生也未必能掌 ...
-
Android 动态加载 (三) PAK 详解
pak文件经常出现于游戏的安装目录中,其实pak文件是一种特殊的游戏压缩文件,用于压缩声音.图片等资料.由于pak文件专门针对游戏设计文件结构,pak文件就是将多个文件(图片.音乐.文本)打包为一个单 ...
-
nodejs fs 模块
件系统操作相关的函数挺多的.首先可以分为两大类. 一类是异步+回调的. 一类是同步的. 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数名称 ...
-
初学swift笔记-数组、字典、元组(三)
数组的使用.字典的使用.元组的使用 import Foundation //1.定义数组 //集合数据 数组.字典 ,,,]//常用定义 ,,,]//常用定义 ,,,]//范型定义 ,,,] arr_ ...
-
hdu 4308 Saving Princess claire_ BFS
为了准备算法考试刷的,想明确一点即可,全部的传送门相当于一个点,当遇到一个传送门的时候,把全部的传送门都压入队列进行搜索 贴代码: #include <iostream> #include ...
-
第五章 MySQL事务,视图,索引,备份和恢复
第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...
-
MySQL如何使用索引
初始化测试数据 创建一个测试用的表 create table dept(id int primary key auto_increment , deptName varchar(32) not nul ...
-
团队作业记账本开发NABCD
N(Need)需求 现如今大学生的消费存在很大问题,很多情况下都是图一时之快,冲动消费,但是其实这些东西并不是特别需要.这样慢慢的堆积也就导致了大学生月月精光的局面.另外,现在基本上人手一部手机,许多 ...
-
项目管理系统Redmine(v1.1.2)安装手记
一.环境 1.硬件 普通PC. 2.软件 Windows 2003操作系统. 二.下载必要的软件 1.Ruby 1.8.x Redmine是基于Ruby On Rails的软件,所以首 ...