Matplotlib绘图02

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/meiqixiao/article/details/102374403

plt.gcf()与plt.gca()

- plt.gca():获取到坐标轴(axes)的对象或者类。

x = np.linspace(0,10,1000)
y = np.sin(x)
plt.plot(x,y)
ax = plt.gca()
#改变坐标轴颜色
ax.spines["right"].set_color("red") 
ax.spines["left"].set_color("yellow")
ax.spines["top"].set_color("green")
ax.spines["bottom"].set_color("blue")
plt.savefig("F:\\16.jpg")

结果:
在这里插入图片描述

#可以利用颜色为白色消除坐标轴
x = np.linspace(0,10,1000)
y = np.sin(x)
plt.plot(x,y)
ax = plt.gca()
ax.spines["right"].set_color("none")
ax.spines["top"].set_color("none")
plt.savefig("F:\\17.jpg")

结果:
在这里插入图片描述

x = np.linspace(-3.15,3.15,100)
y = np.sin(x)
plt.plot(x,y)
ax = plt.gca()
ax.spines["right"].set_color("none")
ax.spines["top"].set_color("none")

#把x轴设置成bottom
#把y轴设置成left
ax.xaxis.set_ticks_position("bottom")
ax.yaxis.set_ticks_position("left")

#设置bottom对应到0点
#设置left对应到0点
ax.spines["bottom"].set_position(("data",0))
ax.spines["left"].set_position(("data",0))
plt.savefig("F:\\18.jpg")

结果:
在这里插入图片描述

- plt.figure():创建Figure对象

  • num:图像编号或名称
  • figsize:指定figure的宽和高
  • dpi:指定分辨率
  • facecolor:背景颜色
  • edgecolor:边框颜色
  • frameon:是否显示边框
plt.figure("Apple")
x = np.linspace(-5,5,100)
y = np.sin(x)
plt.plot(x,y)
plt.savefig("F:\\19.jpg")

结果:
在这里插入图片描述

#改变纸张尺寸
plt.figure("Apple",figsize = (25,5))
x = np.linspace(-5,5,100)
y = np.sin(x)
plt.plot(x,y)
plt.savefig("F:\\19.jpg")

结果:
在这里插入图片描述

#设置清晰度dpi = 30
plt.figure("Apple",figsize = (25,5),dpi = 30)
x = np.linspace(-5,5,100)
y = np.sin(x)
plt.plot(x,y)
plt.savefig("F:\\19.jpg")

结果:
在这里插入图片描述

#设置颜色 
plt.figure("Apple",figsize = (4,4),dpi = 150,facecolor = "yellow",edgecolor = "g")
x = np.linspace(-5,5,100)
y = np.sin(x)
plt.plot(x,y)
plt.savefig("F:\\21.jpg")

结果:
在notebook上背景为黄色
在notebook上背景为黄色

#去掉边框 
plt.figure("Apple",figsize = (4,4),dpi = 150,facecolor = "yellow",edgecolor = "g",frameon = False)
x = np.linspace(-5,5,100)
y = np.sin(x)
plt.plot(x,y)
plt.savefig("F:\\20.jpg")

plt.savefig():保存图片

图片保存在F盘,图片名字为haha

plt.figure("Apple",figsize = (4,4),dpi = 150,facecolor = "yellow",edgecolor = "g")
x = np.linspace(-5,5,100)
y = np.sin(x)
plt.plot(x,y)
plt.savefig("F:\\haha.jpg")

plt.bar()与plt.barh()

生成柱状图

import matplotlib.pyplot as plt
%matplotlib inline  

import numpy as np
x = np.arange(10)
data = np.random.randint(1,11,10)

#生成柱状图
plt.bar(x,data)
plt.savefig("F:\\20.jpg")

结果:
在这里插入图片描述

改变透明度
plt.bar(x,data,alpha = 0.5)
plt.savefig("F:\\20.jpg")

在这里插入图片描述

生成水平条形图

plt.barh(x,data)
plt.savefig("F:\\20.jpg")

结果:
在这里插入图片描述

改变图形颜色
  • 柱体填充色为facecolor,
  • 柱体边框色为edgecolor
  • 柱体内部装饰为hatch
plt.bar(x,data,facecolor = "g",edgecolor = "r")
plt.savefig("F:\\20.jpg")

在这里插入图片描述

plt.bar(x,data,facecolor = "yellow",hatch = ".",lw = 3,edgecolor = "pink",alpha = 0.7)
plt.savefig("F:\\20.jpg")

结果:
在这里插入图片描述

多个柱体图

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = np.array([3,4,6,8,9])
data2 = np.array([11,23,6,5,1])
data3 = np.array([12,6,21,8,26])
a = 0.3
plt.title('multi bar chart')
plt.bar(index,data1,a,color = "pink",label = "a")
plt.bar(index+a,data2,a,color = "yellow",label = "b")
plt.bar(index+2*a,data3,a,color = "r",label = "c")
plt.legend(loc = 2)
plt.show()

结果:
在这里插入图片描述
还有另一种方法

#DataFrame生成多序列条形图
df = pd.DataFrame([[4,8,8,2],[4,9,1,3],[4,8,8,1]],columns = ['a','b','c','d'])
df

%pylab inline
df.plot(kind = 'bar')
plt.savefig("F:\\20.jpg")

结果:
在这里插入图片描述

多序列条形图转换为堆积条形图

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = np.array([3,4,6,8,9])
data2 = np.array([11,23,6,5,1])
data3 = np.array([12,6,21,8,26])
plt.bar(index,data1,color = "pink",label = "a")
plt.bar(index,data2,bottom = data1,color = "c",label = "b")
plt.bar(index,data3,bottom = (data2+data1),color = "orange",label = "c")
plt.legend(loc = 2)
plt.show()

结果:
在这里插入图片描述

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = np.array([3,4,6,8,9])
data2 = np.array([11,23,6,5,1])
data3 = np.array([12,6,21,8,26])
#把一个空间分为3部分,定义alpha=0.3,三个占0.9,剩0.1的空格
plt.barh(index,data1,color='w',label='a',hatch='+')
plt.barh(index,data2,left=data1,color='w',label='b',hatch='////')
plt.barh(index,data3,left=(data2+data1),color='w',label='c',hatch='\\\\')
plt.legend(loc=4)
plt.show()       
plt.savefig("F:\\20.jpg")

结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/meiqixiao/article/details/102374403