保存图片
- plt.savefig()
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来正常显示正负号
x = np.linspace(1, 10, 10)
y = np.cos(x)
y1 = np.sin(x)
plt.plot(x, y, '*-', linewidth=8, alpha=0.3, drawstyle='steps', \
label='y=cos(x)')
plt.plot(x, y1, '*-', linewidth=8, alpha=0.3, drawstyle='steps', \
label='y=sin(x)')
plt.title('我的Matlpotlib图')
plt.legend()#位置可换,默认为系统认为最好的地方
plt.text(2, 0.75, 'y=sin(x)', weight='bold', color='b')
plot.show()
plt.savefig("D:/Learn/数据可视化/Matplotlib_01.jpg") #保存
条形图
plt.bar()
- facecolor : 填充色,
- edgecolor : 边框颜色,
- lw : 边框宽度,
- alpha : 透明度
- 倒着画data写为-data,
- hatch : 填充形状,
- tick_label : 改横坐标
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
data = np.random.randint(1,11,10)
plt.bar(x, data, width=0.5, facecolor='pink', edgecolor='red', \
lw=3, alpha=0.3, hatch='***', \
tick_label=['2012','2013','2014','2015','2016','2017', \
'2018','2019','2020','2021'])
plt.show()
多序列条形图
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = [3,4,6,8,9]
data2 = [11,23,6,5,1]
data3 = [12,6,21,8,26]
a = 0.25 #把一个空间分成3部分,定义a值为0.25,三个占0.75,剩0.25的空格
plt.title('multi bar chart') #图形标题
#第一个图形
plt.bar(index, data1, a, color='lightgreen', label='data1')
#第二个图形
plt.bar(index+a, data2, a, color='lightskyblue', label='data2')
#第三个图形
plt.bar(index+2*a, data3, a, color='lightsalmon', label='data3')
plt.legend() #图例
水平条形图
plt.barh()
参数和plt.bar()相同
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
index = np.arange(5)
data1 = [3,4,6,8,9]
data2 = [11,23,6,5,1]
data3 = [12,6,21,8,26]
#把一个空间分成3部分,定义a值为0.25,三个占0.75,剩0.25的空格
a = 0.25
plt.title('multi bar chart')
plt.barh(index, data1, a, color='lightgreen', label='data1')
plt.barh(index+a, data2, a, color='lightskyblue', label='data2')
plt.barh(index+2*a, data3, a, color='lightsalmon', label='data3')
plt.legend()
多序列条形图转换为堆积条形图
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.title('multi bar chart')
plt.bar(index, data1, color='lightgreen', label='data1')
plt.bar(index, data2, bottom=data1, color='lightskyblue', label='data2')
plt.bar(index, data3, bottom=(data2+data1), color='lightsalmon', label='data3')
plt.legend()