Matplotlib-绘图-曲线图-柱状图-饼状图-散点图

安装

pip install -U Matplotlib

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10,0.1)
y=np.sin(x)

plt.plot(x,y,'b--')
plt.show()

import matplotlib.pyplot as plt
import numpy as np

# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False

data={'dog':(48,'#7199cf'),
'cat':(28,'#4fc4aa'),
'lion':(120,'#e1a7a2')

}
names=list(data.keys())
speeds=[i[0] for i in data.values()]
colors=[i[1] for i in data.values()]

x=np.arange(3)
#宽度
bar_width=0.3

bar=plt.bar(x,speeds,width=bar_width)

for b,c in zip(bar,colors):
    b.set_color(c)

#获取画布对象
ax=plt.subplot()
ax.set_ylabel('speed km/h')
ax.set_xlabel('name')

# 显示x轴动物名称
ax.set_xticks(x)
ax.set_xticklabels(names)
ax.set_title('速度表')

# 为每个柱子添加具体数据
for x,y in zip(x,speeds):
    plt.text(x,y,'{0}km/h'.format(y),ha='center',va='bottom')


#设置网格线
plt.grid(linestyle='--')
plt.show()

#coding = utf-8


import matplotlib.pyplot as plt
import numpy as np
# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False

# 步骤一:建立数据
lang_data = {
    "Java":(30,"#7B68EE"),
    "C":(30,"#EEC900"),
    "C++":(10,"#8E388E"),
    "HTML5":(10,"#EE7600"),
    "Python":(15,"#00CD66"),
    "VB":(5,"#8B5A00")
}
# 获取语言名称
lang_name = lang_data.keys()
# 获取百分比数据和颜色
part = [i[0] for i in lang_data.values()]
colors = [i[1] for i in lang_data.values()]
# 处理标签数据
title = ["{0}\n{1}%".format(l,p) for l,p in zip(lang_name,part)]
print(title)
# arr = np.array([0,1,0,0,1,0])
# 设置突出部分
arr = np.array(list(lang_name))
explodes = np.where( arr == 'C',1,0)
# 设置画布
ax = plt.subplot()
ax.set_title("TIOBE编程语言排行榜")
plt.axis("equal")
# 步骤二:绘制图形
plt.pie(part,colors=colors,labels=title,explode=explodes)
plt.show()

 

#coding = utf-8


import matplotlib.pyplot as plt
import numpy as np
# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False
# 步骤一:建立数据
x = np.random.randn(1,1000)
y = np.random.randn(1,1000)
# 使用反正切获取区域颜色
color = np.arctan2(x,y)
# 步骤二:绘制图形
plt.scatter(x,y,s=25,alpha=0.3,marker="o",c=color)
plt.grid(linestyle="--")
plt.title("图:散点分布趋势")
plt.show()

 

#coding = utf-8

import matplotlib.pyplot as plt
import numpy as np
# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False

# 步骤一:建立数据
# 创建dict对象
data = {1:[30,15,60],2:[16,22,50],3:[110,90,160],
        4:[80,120,110],5:[40,80,90],6:[80,100,75],
        7:[120,76,130],8:[130,110,180],9:[120,210,192],
        10:[50,80,101],11:[80,60,60],12:[135,150,100]}
# 步骤二:处理数据
# 获取月份
months = list(data.keys())
# 获取每家公司销售额
north = [i[0] for i in data.values()]
east = [i[1] for i in data.values()]
south = [i[2] for i in data.values()]
# 获取平均值
means = [np.mean(i) for i in data.values()]

# 步骤二:绘制图形
plt.plot(months,north,"bp-",alpha=0.5,label="华北地区")
plt.plot(months,east,"mp-",alpha=0.5,label="华东地区")
plt.plot(months,south,"yp-",alpha=0.5,label="华南地区")
plt.plot(months,means,"kp:",alpha=0.5,label="月平均销售额")

# 步骤三:设置画布信息
ax = plt.subplot()
ax.set_title("图:2016年各公司销售额统计")
ax.set_xlabel("月份")
ax.set_ylabel("销售额")
# 设置x轴标签
ax.set_xticks(months)
# months = ["{0}月".format(i) for i in months]
ax.set_xticklabels(["{0}月".format(i) for i in months])

#设置图例
plt.legend(loc=0)
plt.grid(linestyle="--")
plt.show()

 

#coding = utf-8

import matplotlib.pyplot as plt
import numpy as np
# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False

# 步骤一:建立数据
# 创建dict对象
data = {1:[30,15,60],2:[16,22,50],3:[110,90,160],
        4:[80,120,110],5:[40,80,90],6:[80,100,75],
        7:[120,76,130],8:[130,110,180],9:[120,210,192],
        10:[50,80,101],11:[80,60,60],12:[135,150,100]}
# 步骤二:处理数据
# 获取月份
months = list(data.keys())
# 获取每家公司销售额
north = [i[0] for i in data.values()]
east = [i[1] for i in data.values()]
south = [i[2] for i in data.values()]
# 获取平均值
means = [np.mean(i) for i in data.values()]

# 步骤二:绘制图形
# plt.plot(months,north,"bp-",alpha=0.5,label="华北地区")
# plt.plot(months,east,"mp-",alpha=0.5,label="华东地区")
# plt.plot(months,south,"yp-",alpha=0.5,label="华南地区")
plt.plot(months,means,"kp:",alpha=0.5,label="月平均销售额")

plt.bar(months,north,width=0.3,alpha=0.5,label="华北地区")
plt.bar(np.array(months)+ 0.3,east,width=0.3,alpha=0.5,label="华东地区")
plt.bar(np.array(months)+ 0.6,south,width=0.3,alpha=0.5,label="华南地区")

# 步骤三:设置画布信息
ax = plt.subplot()
ax.set_title("图:2016年各公司销售额统计")
ax.set_xlabel("月份")
ax.set_ylabel("销售额")
# 设置x轴标签
ax.set_xticks(months)
# months = ["{0}月".format(i) for i in months]
ax.set_xticklabels(["{0}月".format(i) for i in months])

#设置图例
plt.legend(loc=0)
plt.grid(linestyle="--")
plt.show()

#coding = utf-8

import matplotlib.pyplot as plt
import numpy as np
# 用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False

# 步骤一:建立数据
# 创建dict对象
data = {1:[30,15,60],2:[16,22,50],3:[110,90,160],
        4:[80,120,110],5:[40,80,90],6:[80,100,75],
        7:[120,76,130],8:[130,110,180],9:[120,210,192],
        10:[50,80,101],11:[80,60,60],12:[135,150,100]}
# 步骤二:处理数据
# 获取月份
months = list(data.keys())
# 获取每家公司销售额
north = [i[0] for i in data.values()]
east = [i[1] for i in data.values()]
south = [i[2] for i in data.values()]
# 获取平均值
means = [np.mean(i) for i in data.values()]


# 步骤一:建立容器
fig = plt.figure()
# 设置画布位置
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,1,2)

axs = [ax1,ax2,ax3]
# 步骤二:绘制图形
ax1.plot(months,north,"bp-",alpha=0.5,label="华北地区")
ax1.plot(months,east,"mp-",alpha=0.5,label="华东地区")
ax1.plot(months,south,"yp-",alpha=0.5,label="华南地区")
ax1.plot(months,means,"kp:",alpha=0.5,label="月平均销售额")

ax2.bar(months,north,width=0.3,alpha=0.5,label="华北地区")
ax2.bar(np.array(months)+ 0.3,east,width=0.3,alpha=0.5,label="华东地区")
ax2.bar(np.array(months)+ 0.6,south,width=0.3,alpha=0.5,label="华南地区")

ax3.scatter(months,north,marker="o",alpha=0.5,c=np.arctan2(months,north))
ax3.scatter(months,east,marker="o",alpha=0.5,c=np.arctan2(months,north))
ax3.scatter(months,south,marker="o",alpha=0.5,c=np.arctan2(months,north))
# 步骤三:设置画布信息
for ax in axs:
    ax.set_title("图:2016年各公司销售额统计")
    ax.set_xlabel("月份")
    ax.set_ylabel("销售额")
    # 设置x轴标签
    ax.set_xticks(months)
    # months = ["{0}月".format(i) for i in months]
    ax.set_xticklabels(["{0}月".format(i) for i in months])
    # 设置图例
    ax.legend(loc=0)
    ax.grid(linestyle="--")


# 显示
plt.show()

猜你喜欢

转载自blog.csdn.net/huanghong6956/article/details/85418620