python数据可视化——画图基础1(figure 、坐标轴和图例设置)

*由于最近跟着老师准备比赛,不得不提前学习数据分析和数据可视化,跟着B站大佬学习,在此总结一下。(内容有些粗糙,注释真的都是自己总结的大白话!) *
1.导入所需(不再重复导入)

import matplotlib.pyplot as plt
import numpy as np

2.关于figure图像

#基本用法
x = np.linspace(-1,1,50)#从-1到1,分50份
y1 = 2 * x + 1
y2 = x**2
#figure图像
plt.figure()
plt.plot(x,y1)

plt.figure(num = 3,figsize = (8,5))
#参数num是figure的序号,figsize设置figure的长宽
plt.plot(x,y2)
plt.plot(x,y1,color = 'purple',linewidth = 5.0,linestyle = '--')

plt.show()

3.设置坐标轴1

x = np.linspace(-1,1,50)
y1 = 2 * x + 1
y2 = x**2
plt.figure(num = 4)
plt.plot(x,y2)
plt.plot(x,y1,color = 'purple',linewidth = 1.0,linestyle = '--')
plt.xlim((-1,2))#lim限制坐标范围
plt.ylim((-2,3))
plt.xlabel("I am x 轴")
plt.ylabel("I am y 轴")
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,1.2,3],
           [r'$really\ bad$','bad','normol','good','really good'])#一一对应
#其中首位加入dollar的原因仅仅是为了改变成更好看的字体
#加\ 的原因是为了输出空格

plt.show()

4.设置坐标轴2(由于时间问题,如果遇到不是很理解的,自学一下哈,请谅解啦)

#设置坐标轴进阶(这个有点难理解)
x = np.linspace(-1,1,50)
y1 = 2 * x + 1
y2 = x**2
plt.figure(num = 5)
plt.plot(x,y2)
plt.plot(x,y1,color = 'purple',linewidth = 1.0,linestyle = '--')
plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel("I am x 轴")
plt.ylabel("I am y 轴")
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,1.2,3],
           [r'$really\ bad$','bad','normol','good','really good'])
#gca = 'get current axis'
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')#将右边和上边的spine(脊梁,也就是坐标轴)设置为none,即使之消失
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',0))#除了data方法,还有outward和axes
ax.spines['left'].set_position(("data",1.25))#以x,y为零的地方延伸出坐标轴,即左轴移动到x为零的位置


plt.show()

5.图例设置

#图例设置
x = np.linspace(-1,1,50)
y1 = 2 * x + 1
y2 = x**2
plt.figure(num = 6)
plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel("I am x 轴")
plt.ylabel("I am y 轴")
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,1.2,3],
           [r'$really\ bad$','bad','normol','good','really good'])#一一对应

plt.plot(x,y2,label = 'up')#label就是曲线的名字
plt.plot(x,y1,color = 'purple',linewidth = 1.0,linestyle = '--',label = 'down')
plt.legend()
plt.show()
'''
其实plt.plot都是有返回值的,返回曲线
也可以设置为
l1, = plt.plot(x,y2,label = 'up')#label就是曲线的名字
l2, = plt.plot(x,y1,color = 'purple',linewidth = 1.0,linestyle = '--',label = 'down')

plt.legend(handles =[l1,l2],labels =['aaa','bbb'],loc = 'best')#loc即location设置为最佳(自动将图例放在数据较少的空白处)
plt.show()

真的很基础叭…
明天继续学习画图!

你可能感兴趣的:(python,可视化)