1.折线图——plot函数绘图

plot函数

matplotlib.pyplot.plot(*args,**kwargs)

参数名称 说明
x,y 接收array。表示x轴和y轴对应的数据。无默认。
color 接收特定string。指定线条的颜色。默认为None。
linestyle 接收特定string。指定线条类型。默认为“-”。
marker 接收特定string。指定线条类型。默认为“-”。
alpha 接收0-1的小数。表示点的透明度。默认为None。
import matplotlib.pyplot as plt
import numpy as np###加载数据
data = np.load('./国民经济核算季度数据.npz')
print(data)for tmp in data:print(tmp)columns = data['columns']
values = data['values']
print(columns)
print(values)### 创建画布plt.figure(figsize=(20,10),dpi=80)### 准备数据x = values[:,0]
y1 = values[:,3]
y2 = values[:,4]
y3 = values[:,5]###绘制图形plt.plot(x, y1, color='#0000FF', linestyle='-', linewidth=1.2, marker="*", markersize=7, markerfacecolor='b',markeredgecolor='g')plt.plot(x, y2, color='#800000', linestyle='-', linewidth=1.2, marker="1", markersize=7, markerfacecolor='k',markeredgecolor='k')plt.plot(x, y3, color='#FFD700', linestyle='--', linewidth=1.2, marker=".", markersize=7, markerfacecolor='b',markeredgecolor='g')### 增加修饰##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = False##添加标题
plt.title('2000~2017年各产业季度生产总值')##添加x,y轴标签
plt.xlabel('时间')
plt.ylabel('各产业生产总值(亿元)')x_label = values[:, 1]
##x刻度设置
plt.xticks(x[::4], x_label[::4], rotation=45)##增加图例----loc参数可以设置图例位置
plt.legend(['第一产业', '第二产业', '第三产业'])##网格线-----axis的值必须是字符串
plt.grid(b=True, axis='y')##保存图片
plt.savefig('./各产业季度生产总值.png')###展示图形
plt.show()

2

2.散点图——scatter函数绘图

scatter函数

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, alpha=None,**kwargs)

常用参数:

参数名称 说明
x,y 接收array。表示x轴和y轴对应的数据。无默认。
s 接收数值或者一维的array。指定点的大小,若传入一维array则表示每个点的大小。默
认为None。
c 接收颜色或者一维的array。指定点的颜色,若传入一维array则表示每个点的颜色。默
认为None
marker 接收特定string。表示绘制的点的类型。默认为None。
alpha 接收0-1的小数。表示点的透明度。默认为None。
import matplotlib.pyplot as plt
import numpy as npdata = np.load('./国民经济核算季度数据.npz')
print(data)
for tmp in data:print(tmp)
columns = data['columns']
values = data['values']###一个画布里面绘制多个图形
###增加子图## 创建画布,返回画布对象
fig = plt.figure(figsize=(20,10),dpi=100)##给画布对象增加子图
#参数1,2表示增加的子图为几行几列,参数3表示第几个图
fig.add_subplot(2,1,1)
###########################################################################
x = values[:, 0]
y1 = values[:, 3]
y2 = values[:, 4]
y3 = values[:, 5]###绘图------散点图必须为一个x对应一个yplt.scatter(x, y1,marker='*')
plt.scatter(x, y2,marker='s')
plt.scatter(x, y3,marker='x')
# plt.tight_layout(pad=40,h_pad=10)### 增加修饰
##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = Falseplt.title('各季度生产总值散点图')plt.xlabel('日期')plt.ylabel('生产总值(亿元)')plt.legend(["第一产业","第二产业","第三产业"])x_label = values[:, 1]##x刻度设置
plt.xticks(x[::4], x_label[::4], rotation=45)fig.add_subplot(2,1,2)
# plt.subplot(222,frameon=True)    #frameon  是否设置外边框
#准备数据
x = values[:,1]
y1 = values[:,6]
y2 = values[:,7]
y3 = values[:,8]
y4 = values[:,9]
y5 = values[:,10]
y6 = values[:,11]
y7 = values[:,12]
y8 = values[:,13]
y9 = values[:,14]plt.scatter(x,y1,marker='1')
plt.scatter(x,y2,marker='2')
plt.scatter(x,y3,marker='3')
plt.scatter(x,y4,marker='4')
plt.scatter(x,y5,marker='h')
plt.scatter(x,y6,marker='s')
plt.scatter(x,y7,marker='x')
plt.scatter(x,y8,marker='p')
plt.scatter(x,y9,marker='d')##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = Falseplt.title('各行业生产总值散点图')plt.xlabel('日期')plt.ylabel('各行业生产总值(亿元)')x_label = values[:, 1]##x刻度设置
plt.xticks(x[::4], x_label[::4], rotation=45)plt.legend(["农林业", "工业", "建筑业", "批发业", "交通业", "餐饮业", "金融业", "房地产业", "其他"])plt.savefig('各行业生产总值.png')fig.show()

3.柱状图——bar函数绘图

bar函数

matplotlib.pyplot.bar(left,height,width = 0.8,bottom = None,hold = None,data = None,** kwargs

参数名称 说明
left 接收array。表示x轴数据。无默认。
height 接收array。表示x轴所代表数据的数量。无默认。
width 接收0-1之间的float。指定直方图宽度。默认为0.8。
color 接收特定string或者包含颜色字符串的array。表示直方图颜色。默认为None。
import matplotlib.pyplot as plt
import numpy as npdata = np.load('./国民经济核算季度数据.npz')
print(data)for tmp in data:print(tmp)columns = data['columns']
values = data['values']
print('columns', columns)
print('values', values)##创建画布
fig = plt.figure(figsize=(20,10))###调整子图之间的间距
plt.subplots_adjust(hspace=0.5, wspace=0.5)##增加子图
fig.add_subplot(2, 2, 1)
x = [1, 2, 3]
y = values[0, 3:6]##绘图plt.bar(x, y, width=0.6, color=['r', 'g', 'b'])###修饰
##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = Falseplt.title("2000各产业生产总值")
plt.xlabel("产业")
plt.ylabel("生产总值(亿元)")
x_label = ["第一产业", "第二产业", "第三产业"]
plt.xticks(x, x_label)###添加值
for i, j in zip(x, y):plt.text(i-0.06, j + 0.11, '%d' % j)plt.grid(b=True, axis='y')fig.add_subplot(2, 2, 2)
x = [1, 2, 3]
y = values[-4, 3:6]
plt.bar(x, y, width=0.6, color=['r', 'g', 'b'])###修饰
##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = False###添加标题
plt.title("2017各产业生产总值")##定义x轴
plt.xlabel("产业")##定义y轴
plt.ylabel("生产总值(亿元)")##替换x轴刻度
x_label = ["第一产业", "第二产业", "第三产业"]
plt.xticks(x, x_label)###添加值
for i, j in zip(x, y):plt.text(i-0.06, j + 0.5, '%d' % j)###增加网格线
plt.grid(b=True, axis='y')fig.add_subplot(2, 2, 3)x = np.arange(1, 10)
y = values[0, 6:]
##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = False
###绘图
plt.bar(x, y, color=["blue", "green", "red", "yellow", "magenta", "brown", "cyan", "khaki", "navy"])
plt.title('2000年第一季度各行业生产总值')
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
x_label = ["农林业", "工业", "建筑业", "批发业", "交通业", "餐饮业", "金融业", "房地产业", "其他"]
plt.xticks(x, x_label)for i, j in zip(x, y):plt.text(i - 0.13, j + 0.11, '%d' % j)plt.grid(b=True, axis='y')fig.add_subplot(2, 2, 4)
x = np.arange(1, 10)
y = values[-4, 6:]
##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = False
###绘图
plt.bar(x, y, color=["blue", "green", "red", "yellow", "magenta", "brown", "cyan", "khaki", "navy"])
plt.title('2017年第一季度各行业生产总值')
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
x_label = ["农林业", "工业", "建筑业", "批发业", "交通业", "餐饮业", "金融业", "房地产业", "其他"]
plt.xticks(x, x_label)for i, j in zip(x, y):plt.text(i - 0.13, j + 0.11, '%d' % j)plt.grid(b=True, axis='y')fig.show()

4.饼状图——pie函数绘图

pie函数

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None,pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, … )

常用参数:

参数名称 说明 参数名称 说明
x 接收array。表示用于绘制撇的数据。
无默认。
autopct 接收特定string。指定数值的显示方式。默
认为None。
explode 接收array。表示指定项离饼图圆心为n
个半径。默认为None。
pctdistance 接收float。指定每一项的比例和距离饼图
圆心n个半径。默认为0.6。
labels 接收array。指定每一项的名称。默认
为None。
labeldistance 接收float。指定每一项的名称和距离饼图
圆心多少个半径。默认为1.1。
color 接收特定string或者包含颜色字符串的
array。表示饼图颜色。默认为None。
radius 接收float。表示饼图的半径。默认为1。
import matplotlib.pyplot as plt
import numpy as npdata = np.load('./国民经济核算季度数据.npz')
for tmp in data:print(tmp)columns = data["columns"]
values = data["values"]
print(columns)
print(values)###创建画布
fig = plt.figure(figsize=(20, 10))##默认不支持中文,想用中文,必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
##默认不支持负号,想用负号,进行RC参数设置
plt.rcParams['axes.unicode_minus'] = False##创建子画布
fig.add_subplot(2, 2, 1)
x = values[0, 3:6]##离心半径
explode = (0.01, 0.01, 0.01)
label = ["第一产业", "第二产业", "第三产业"]###绘图------shadow增加阴影,labels 增加标签  autopct  占比
plt.pie(x, explode=explode, labels=label, autopct="%.1f%%")##椭圆变成圆形
plt.axis('equal')fig.add_subplot(2, 2, 2)
x = values[-4, 3:6]
explode = (0.01, 0.01, 0.01)
label = ["第一产业", "第二产业", "第三产业"]
plt.pie(x, explode=explode, labels=label, autopct="%.1f%%")plt.axis("equal")fig.add_subplot(2, 2, 3)
x = values[0, 6::]
label = ["农林业", "工业", "建筑业", "批发业", "交通业", "餐饮业", "金融业", "房地产业", "其他"]plt.pie(x, labels=label, autopct="%.1f%%")
plt.axis("equal")fig.add_subplot(2, 2, 4)
x = values[-4, 6::]
label = ["农林业", "工业", "建筑业", "批发业", "交通业", "餐饮业", "金融业", "房地产业", "其他"]
plt.pie(x, labels=label, autopct="%.1f%%")
plt.axis("equal")## 保存
fig.savefig('饼图案例.png')##展示
fig.show()

matplotlib——折线图,散点图,柱状图,饼状图相关推荐

  1. Python 数据分析三剑客之 Matplotlib(七):饼状图的绘制

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  2. java excel 饼图,java 导入导出excle 和 生成柱状图饼状图的demo/excle数据如何转成饼状图...

    在EXCEL中,如何把表格中的数据转换成饼状图? 在Excel中,把中的数据转换状图的操作步骤如下: 想转换的数据源,插入饼状图,Excel会自动根据选择的数据源生成饼状图.接下来,可以自定义饼状图的 ...

  3. python饼状图顺时针_Python:饼状图 (二十七)

    饼状图 饼状图是一种常见的单变量图形,用于描绘分类变量级别的相对频率.饼图中的频率用圆形的扇区表示:角度或面积越大,该分类值就越常见. 遗憾的是,饼状图是一种应用场合很有限的图形类型,图形创建者很容易 ...

  4. 使用matplotlib绘制图形(条形图,饼状图,散点图,直方图)

    安装 pip install matplotlib 图形的基础绘制 from matplotlib import pyplot as plt# 设置图形大小,figure图形图像的意思,在这里指的是我 ...

  5. java实现将数据生成图表至excel导出(包括折线图,柱状图,饼状图)

    1. 目的 根据已有数据,手动(java后台)生成图表至excel并导出.用于后台查询到数据后直接创建图表,可以代替直接使用图表信息字符串. 2. 说明 使用jfree图表绘制类库绘制图表,并生成到本 ...

  6. poi导出excel文件,并生成原生图表(包括折线图,柱状图,饼状图,面积图)

    前段时间,因为客户需要,要做一个导出excel文件功能,并能生成原生的图表的(不是把图片插入到excel文档),找了很多文档看,也看了很多别人的代码,个人也总结了一下,不足之处,请各位大牛谅解. 需要 ...

  7. Python使用matplotlib设置pandas绘制的饼状图扇形标签

    2021年全国高校Python课程高级研修班(线上) 中国大学MOOC"Python程序设计基础"第4次开课 推荐图书: <Python程序设计(第3版)>,(ISBN ...

  8. Word中插入表格与柱状图饼状图技术经验分享

    最近公司一个项目里要求自动生成报告功能,研究了1周多,主要实现方式是通过调用微软Office COM组件来实现操作word文档,生成段落,表格,及各种图表. 本人发现操作word地方也有几个坑人的地方 ...

  9. Superset 制作 地图 柱状图 饼状图

    文章目录 制作地图 制作柱状图 制作饼状图 制作地图 1)创建 Chart 2)配置 Chart 3)结果图 制作柱状图 1)创建 Chart 2)配置 Chart 3)结果图 制作饼状图 1)创建 ...

  10. pythonplt制作饼状图_4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图

    目录 [TOC] 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: pyplot.``pie(x, explode=None, labels=No ...

最新文章

  1. 参加第十一届开源黑客松大会有感:
  2. 软银机器人Pepper上岗必胜客,顾客可通过机器人预订披萨
  3. 奋斗--陆涛在高强追悼会上说
  4. 自由软件与知识产权保护
  5. 一句话生成数字人形象、昆仑芯2量产…百度大脑升级7.0,王海峰:技术更强了门槛却更低...
  6. 【计算机视觉】OpenCV的最近邻开源库FLANN
  7. 微软示例数据仓库AdventureWorksDW 与数据仓库概述
  8. Android进阶知识:绘制流程(上)
  9. 高端智能阿里手机 黑色 ZOPO C2 出售1499
  10. HDU 2544最短路dijkstra模板题
  11. python面向对象编程之实例属性和类属性
  12. 2015.4.19 为什么footer下a的索引值那么大
  13. 2499元起!vivo首款旗舰级平板正式发布 全系标配8GB运行内存
  14. ThinkPHP删除指定文件(物理删除)
  15. 团队第二次冲刺第一天
  16. Atitit.web三大编程模型 Web Page Web Forms 和 MVC
  17. js排序的时间复杂度_各种排序算法时间复杂度
  18. intptr java_[转载]C#中int和IntPtr相互转换
  19. java 左移和右移理解
  20. 一些互联网标准化组织

热门文章

  1. 石头汤(寓言故事 )
  2. pandas.read_csv FileNotFoundError: File b‘\xe2\x80\xaa<etc>‘ despite correct path
  3. 函数strlen的使用
  4. vue 如何防止xss攻击 框架_xss攻击与防御
  5. 发那科机器人GI分配_干货 | Fanuc机器人IO配备和UI/UO配备
  6. 微信小程序云开发 删除用户信息
  7. 程序员找工作需要看的书
  8. d2l的运行时运行失败
  9. 根据身份证号获取出生日期
  10. 简单实现优酷视频上传