x/y轴取值范围:
plt.xlim((min,max))
:y轴改为y即可,使用元组形式表示区间,翻转x轴的大小方向,让alpha从大到小显示
ax.set_xlim(ax.get_xlim()[::-1])
x/y轴刻度设置:设置精度:
plt.xticks(np.linspace(x,y,z))
文字型刻度:
plt.yticks([0,1,2], ['bad','normal',r'$good$'])
:如果想用好看的数学型字体就按最后一个good的格式去书写:
latex语法
若需要消除刻度,括号填入一个空元组
()
即可
设置四轴参数:获取四个轴:
ax = plt.gca()
: gca:get current axis
轴体消失:
ax.spine.['top'].set_color('none')
设置轴起点位置:
ax.spine.['left'].set_position(('data','0')
:这里的0指的是x=0,设置x轴则代表y的值
plot一条线的时候可以加入参数:
label = xxx
:然后在show之前写上
plt.legend
即可生成对应图例
调整位置可以在括号加入参数
loc = best
:或者其他位置,best会在空白处填充
plt.annotate('XXX',xy=(x1,y1),xytext=(x2,y2),arrowprops=dict(facecolor='black',shrink=0.05)
其中shrink指箭头尾部粗细长度属性,xytext是注释位置。如果想要对箭头头部进行属性修改,可以写入
headlength=xxx
等属性去修改
3.风格设置
风格查询:
plt.style.available()
应用风格:
plt.style.use('XXXX')
后再画图
4.figure图像
想要画多个figure基本方法:每次声明一个
plt.figure()
之后,后面的参数则是这个figure,如果画第二个声明第二次即可,默认按顺序来,也可以在括号内填入
num = x
对编号命名
可以添加参数
figuresize(x,y)
对窗口大小设置
5.散点图
画图只需将
plt.plot()
换为
plt.scatter()
补充:随机颜色
T = np.arctan2(Y,X)
可以根据x轴y轴数据随机生成正态分布的颜色数据,plot颜色参数填入即可应用
6.条形图
基础条形图绘制
plt、fig、axes、axis的含义
基础图直接用plt.bar()传参绘制,以下是一些细节设置
*
x轴和y轴数据设置
x = np.arange(5)
y = np.random.randint(-5,5,5)
图的基本绘制参数
fig.axes = plt.subplots(ncols = 2) #幕布为两列
v_bars = axes[0].bar(x,y,color='red') #竖着画
h_bars = axes[1].barh(x,y,color='red') #横着画
添加有色线
axes[0].axhline(0,color='black',linewidth=2) #竖条形图,因此为x轴横着添加一条线
axes[1].axvline(0,color='black',linewidth=2) #横条形图,因此为y轴竖着添加一条线
不同界限的图填充不同颜色:利用python循环遍历
fig.ax = plt.subplots()
v_bars = ax.bar(x,y,color='lightblue')
for bar, height in zip(v_bars, v):
if height < 0:
bar.set(edgecolor = 'darkred', color = 'green', linewidth = 3)
plt.show()
条形图中设置stacked=True即可为DataFrame生成堆积柱状图,这样每行的值就会被堆积在一起
7.等高线图
高度生成函数
def f(x,y):
return (1 - x / x**5 + y**3) * np.exp(-x**2 - y**2)
n = 256
x = np.linspace(-3,3,n)
y = np.linspace(-3,3,n)
X, Y = np.meshgrid(x,y)
#根据输入的参数生成二维的数组列表