matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)

matplotlib绘图

  • 折线图
  • 柱状图
    • 叠加柱状图
    • 并列柱状图
    • 水平柱状图(条形图)
  • 饼状图
  • 散点图
  • 直方图

折线图

x = [1,2,3,4,5]
y = [1,2,3,4,5]
# 调用绘制线性图函数plot()
plt.plot(x,y,
    c='b',                 # 线的颜色
    linestyle=':',         # 线的风格
    linewidth=3,           # 线的宽度
    marker='o',            # 标记点的样式
    markerfacecolor='r',   # 标记点的颜色
    markersize=10,         # 标记点的大小
    alpha=0.7,             # 图形的透明度
    label="x=y"            # 设置图例的label   
)
plt.legend()
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第1张图片

# numpy数据
y1 = np.random.random(6) # 第1条折线y轴
y2 = np.random.random(6) # 第2条折线y轴
x = np.arange(6) # 公用的x轴

plt.plot(x, y1, label='成都') # 绘制第1条折线图
plt.plot(x, y2, label='武汉') # 绘制第2条折线图
plt.legend(loc='best') # 显示折线

plt.title('各城市房价(单位:万)', fontsize=20) # 设置标题
index_name = ['1月', '2月', '3月', '4月', '5月', '6月'] # 设置刻度
plt.xticks(x,index_name) # 将x坐标刻度数值与字符对应

plt.show() # 显示图形

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第2张图片

# 使用DataFrame数据
data_frame = pd.DataFrame({
'Python基础': np.random.randint(10, 100, 5),
'Python爬虫': np.random.randint(10, 100, 5),
'Python Web': np.random.randint(10, 100, 5),
})
plt.plot(data_frame, marker='o')
# 显示图例
plt.legend(data_frame, loc=2)
# 设置x轴刻度标签
plt.xticks([0, 1, 2, 3, 4], ['1月', '2月', '3月', '4月', '5月'])
plt.title('2022年课程购买人数')
plt.xlabel('月份')
plt.ylabel('购买人数')
# linewidth 设置网格的宽度
plt.grid()
# 显示图形
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第3张图片

柱状图

x = [1,2,3,4,5]
index_name = ['星期一','星期二','星期三','星期四','星期五']
height = [2.5,3.5,4.6,5.7,6.8]
plt.bar(x,height,color='r')
plt.xticks(x,index_name)
plt.title('销售量(单位:万元)')
# 添加文字
for x,height in zip(x,height):
    plt.text(x,height,height,ha='center',va='bottom')
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第4张图片

叠加柱状图

plt.figure(figsize=(4,4),dpi=100)  # 设置图像大小,dpi设置图像像素
x = [1,2,3,4,5]
index_name = ['星期一','星期二','星期三','星期四','星期五']
height1 = [2.5,3.5,4.6,5.7,6.8]
height2 = [2,3,4,5,6]
plt.bar(x,height1,color='r',label='python销量')
plt.bar(x,height2,bottom=height1,color='b',label='c语言销量')
plt.xticks(x,index_name)
plt.title('销售量(单位:万元)')
plt.legend()  # 调用label
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第5张图片

并列柱状图

plt.figure(figsize=(4,4),dpi=100)  # 设置图像大小,dpi设置图像像素
x = np.arange(5)
index_name = ['星期一','星期二','星期三','星期四','星期五']
height1 = [2.5,3.5,4.6,5.7,6.8]
height2 = [2,3,4,5,6]

bar_width = 0.3
plt.bar(x,height1, bar_width,color='r',label='python销量')
plt.bar(x + bar_width,height2, bar_width, color='b',label='c语言销量')
plt.xticks(x+bar_width/2,index_name)
plt.title('销售量(单位:万元)')
plt.legend()  # 调用label
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第6张图片

水平柱状图(条形图)

plt.figure(figsize=(4,4),dpi=100)
y=[1,2,3,4,5]
index_name = ['python','c语言','c++','java','php']
plt.yticks(y,index_name)
width = [2.5,3.6,4.7,5.8,6.0]
plt.barh(y,width)
# 添加文字
for y,width in zip(y,width):
    plt.text(width,y,width)
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第7张图片

饼状图

plt.figure(figsize=(4,4),dpi=100)
labels = ['A','B','C','D','E']
x = [10,20,30.5,40.6,50.7]
explode = [0,0.1,0,0,0.1]  # 突出某一部分

plt.pie(x,labels=labels,autopct='%.0f%%',explode=explode)
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第8张图片

散点图

x = [1,2,3,4,5]
y = [1,2,3,4,5]
a = np.random.rand(10)
b = np.random.rand(10)
size1 = np.random.rand(5)*200
size2 = np.random.rand(10)*100
plt.scatter(x,y,color='y',s=size1)
plt.scatter(a,b,color='b',s=size2)  #s的size大小必须与x,y的大小相匹配
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第9张图片

直方图

x = [1,2,3,4,5,1.1,1.2,1.3]
plt.hist(x)
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第10张图片

# 正态分布
data = np.random.normal(0,1,100000)
plt.hist(data,bins=200)  
plt.show()

matplotlib绘图(折线图,柱状图,饼状图,散点图,直方图)_第11张图片

你可能感兴趣的:(StudyPython,python,数据分析,数据挖掘)