matplotlib——折线图,散点图,柱状图,饼状图
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——折线图,散点图,柱状图,饼状图相关推荐
- Python 数据分析三剑客之 Matplotlib(七):饼状图的绘制
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- java excel 饼图,java 导入导出excle 和 生成柱状图饼状图的demo/excle数据如何转成饼状图...
在EXCEL中,如何把表格中的数据转换成饼状图? 在Excel中,把中的数据转换状图的操作步骤如下: 想转换的数据源,插入饼状图,Excel会自动根据选择的数据源生成饼状图.接下来,可以自定义饼状图的 ...
- python饼状图顺时针_Python:饼状图 (二十七)
饼状图 饼状图是一种常见的单变量图形,用于描绘分类变量级别的相对频率.饼图中的频率用圆形的扇区表示:角度或面积越大,该分类值就越常见. 遗憾的是,饼状图是一种应用场合很有限的图形类型,图形创建者很容易 ...
- 使用matplotlib绘制图形(条形图,饼状图,散点图,直方图)
安装 pip install matplotlib 图形的基础绘制 from matplotlib import pyplot as plt# 设置图形大小,figure图形图像的意思,在这里指的是我 ...
- java实现将数据生成图表至excel导出(包括折线图,柱状图,饼状图)
1. 目的 根据已有数据,手动(java后台)生成图表至excel并导出.用于后台查询到数据后直接创建图表,可以代替直接使用图表信息字符串. 2. 说明 使用jfree图表绘制类库绘制图表,并生成到本 ...
- poi导出excel文件,并生成原生图表(包括折线图,柱状图,饼状图,面积图)
前段时间,因为客户需要,要做一个导出excel文件功能,并能生成原生的图表的(不是把图片插入到excel文档),找了很多文档看,也看了很多别人的代码,个人也总结了一下,不足之处,请各位大牛谅解. 需要 ...
- Python使用matplotlib设置pandas绘制的饼状图扇形标签
2021年全国高校Python课程高级研修班(线上) 中国大学MOOC"Python程序设计基础"第4次开课 推荐图书: <Python程序设计(第3版)>,(ISBN ...
- Word中插入表格与柱状图饼状图技术经验分享
最近公司一个项目里要求自动生成报告功能,研究了1周多,主要实现方式是通过调用微软Office COM组件来实现操作word文档,生成段落,表格,及各种图表. 本人发现操作word地方也有几个坑人的地方 ...
- Superset 制作 地图 柱状图 饼状图
文章目录 制作地图 制作柱状图 制作饼状图 制作地图 1)创建 Chart 2)配置 Chart 3)结果图 制作柱状图 1)创建 Chart 2)配置 Chart 3)结果图 制作饼状图 1)创建 ...
- pythonplt制作饼状图_4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图
目录 [TOC] 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: pyplot.``pie(x, explode=None, labels=No ...
最新文章
- 参加第十一届开源黑客松大会有感:
- 软银机器人Pepper上岗必胜客,顾客可通过机器人预订披萨
- 奋斗--陆涛在高强追悼会上说
- 自由软件与知识产权保护
- 一句话生成数字人形象、昆仑芯2量产…百度大脑升级7.0,王海峰:技术更强了门槛却更低...
- 【计算机视觉】OpenCV的最近邻开源库FLANN
- 微软示例数据仓库AdventureWorksDW 与数据仓库概述
- Android进阶知识:绘制流程(上)
- 高端智能阿里手机 黑色 ZOPO C2 出售1499
- HDU 2544最短路dijkstra模板题
- python面向对象编程之实例属性和类属性
- 2015.4.19 为什么footer下a的索引值那么大
- 2499元起!vivo首款旗舰级平板正式发布 全系标配8GB运行内存
- ThinkPHP删除指定文件(物理删除)
- 团队第二次冲刺第一天
- Atitit.web三大编程模型 Web Page Web Forms 和 MVC
- js排序的时间复杂度_各种排序算法时间复杂度
- intptr java_[转载]C#中int和IntPtr相互转换
- java 左移和右移理解
- 一些互联网标准化组织
热门文章
- 石头汤(寓言故事 )
- pandas.read_csv FileNotFoundError: File b‘\xe2\x80\xaa<etc>‘ despite correct path
- 函数strlen的使用
- vue 如何防止xss攻击 框架_xss攻击与防御
- 发那科机器人GI分配_干货 | Fanuc机器人IO配备和UI/UO配备
- 微信小程序云开发 删除用户信息
- 程序员找工作需要看的书
- d2l的运行时运行失败
- 根据身份证号获取出生日期
- 简单实现优酷视频上传