matplotlib——散点图
目录
一.plt.scatter()
二.简单散点图的绘制
三.绘制多标签散点图
一.plt.scatter()
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=<deprecated parameter>, edgecolors=None, *, plotnonfinite=False, data=None, **kwargs)
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=<deprecated parameter>, edgecolors=None, *, plotnonfinite=False, data=None, **kwargs)
参数 | 解析 | 默认值 |
x,y |
数据的输入 浮点型 或 数组 shape (n, ) |
|
s |
点的大小 浮点型 或 数组 shape (n, ) |
rcParams['lines.markersize'] ** 2 |
c |
点的颜色 形式: ①颜色单词 如:red,blue... ②RGB或RGBA序列(二维数组的形式) 注若只有一种颜色建议使用方法一,因为只有一种颜色,无法准确的识别出RGB,RGBA是只表示一种颜色,还是三种/四种,若硬要使用 RGB,RGBA,则应该将序列转化为二维的数组 如下会报警告: 消除警告: |
默认为“b” https://matplotlib.org/tutorials/colors/colormaps |
marker | 点的形状 | 详细见 |
cmap |
str或〜matplotlib.colors.Colormap,默认::rc:`image.cmap` .Colormap实例或注册的颜色图名称。 * cmap *仅 当* c *是浮点数数组,才使用此参数。 |
|
norm |
〜matplotlib.colors.Normalize`,默认值:无 如果* c *是浮点数数组,则* norm *用于缩放颜色 数据* c *,范围为0到1,以便映射到颜色表 * cmap *。 如果为* None *,则使用默认的`.colors.Normalize`。 |
|
vmin | ||
vmax | ||
alpha | 透明度 | |
linewidths | 边缘线宽 | |
edgecolors | 标记的边缘颜色 | |
label | 数据的标签,在图例中使用展现plt.legend() | |
plotnonfinite | bool类型,默认值为False |
二.简单散点图的绘制
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import font_manager
import numpy as np%matplotlib inlinex = [i for i in range(1,32)]
y = np.random.randn(31)
print(y)plt.figure(figsize=(15,10))plt.scatter(x,y,s=100,c="blue",label="一月",alpha=0.5,linewidths = 10,edgecolors="red",marker=".",plotnonfinite=False)#显示中文字体
font = {'style' : "italic" ,'variant':"small-caps" ,'weight' : "50",'stretch': "extra-condensed",'size' : "20.0",'fname' :"C:\Windows\Fonts\simfang.ttf" ,
}
my_font = font_manager.FontProperties("font",**font)#图例
plt.legend(prop=my_font,loc=1)#标题
plt.title("2020年一月销售额",fontproperties=my_font)#横纵坐标的显示信息
plt.xlabel("日期",fontproperties=my_font,color="blue")
plt.ylabel("销售额",fontproperties=my_font)#设置x轴和y轴的步长
x_ = ["{}日".format(i+1) for i in range(31)]
plt.xticks(x,x_,rotation=60,fontproperties=my_font) #rotation=90 旋转90度
plt.yticks(np.arange(-5,5,0.5))#保存图片plt.savefig(r"C:\Users\jiang\Pictures\Saved Pictures\125.png")
plt.show()
三.绘制多标签散点图
示例一:
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import font_manager
import numpy as np%matplotlib inline#显示中文字体
font = {'style' : "italic" ,'variant':"small-caps" ,'weight' : "10",'stretch': "extra-condensed",'size' : "15",'fname' :"C:\Windows\Fonts\simfang.ttf" ,
}
my_font = font_manager.FontProperties("font",**font)income_school = pd.read_csv("C:\\Users\jiang\Desktop\income.csv") #导入数据school = np.unique(income_school["school"])plt.figure(figsize=(15,10))#绘制标题
plt.title("受教育年限与收入的关系",fontproperties=my_font)#设置x轴和y轴的步长
plt.xticks(np.arange(0,17,1)) #rotation=90 旋转90度
plt.yticks(np.arange(0,45,5))#设置x轴和y轴的表示信息
plt.xlabel("受教育年限",fontproperties=my_font,color="red")
plt.ylabel("年收入 万/年",fontproperties=my_font,color="blue")for i in range(len(school)):plt.scatter(income_school.loc[income_school["school"] == school[i],"school"],income_school.loc[income_school["school"] == school[i],"wage"],s = 10,c = np.array(plt.cm.tab20(i/len(school))).reshape(1,-1),label = "受教育{}年".format(school[i]),
# linewidths = 1,
# edgecolors = "red")#图例
plt.legend(prop=my_font,loc=0)
plt.show()
数据集:http://www-eio.upc.edu/~pau/cms/rdata/csv/Ecdat/Wages1.csv
示例二:
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import font_manager
import numpy as np
import pandas as pd
import seaborn as sns%matplotlib inline#显示中文字体
font = {'style' : "italic" ,'variant':"small-caps" ,'weight' : "50",'stretch': "extra-condensed",'size' : "80",'fname' :"C:\Windows\Fonts\simfang.ttf" ,
}
my_font = font_manager.FontProperties("font",**font)plt.figure(figsize=(80,50))x = [i+1 for i in range(12)]ls = ["-","-.","--","-","-.","--","-","-.","--","-","-.","--","-","-.","--","-","-.","--","-","-.","--","-","-.","--"]
marker = [".","o","v","^","v","<",">","2","1","3","4","8","s","p","*","+","*","D","d","|","x",1,2,3,4,5,6,7,8,9,10]
for i in range(len(data["年份"])):label = "{}年".format(data.loc[i][0]) plt.scatter(x,data.loc[i][1::],s=20*(i+1),c=np.array(plt.cm.tab20(i/len(data["年份"]))).reshape(1,-1),label= label )# for i in range(len(data["年份"])):
# label = "{}年".format(data.loc[i][0])
# plt.plot(
# x,
# data.loc[i][1::],
# # label=label, #折线的标签名称
# ls=ls[i], # 线条样式
# lw=2, # 线条宽度
# marker=marker[i], # X轴Y轴对应数据点的样式
# ms=20, # 数据点的大小
# #mfc=plt.cm.tab20(i/len(data["年份"]), # 数据点填充颜色
# alpha=0.6
# ) #设置x轴和y轴的步长
x_ = ["{}月".format(i+1) for i in range(12)]
plt.xticks(x,x_,rotation=60,fontproperties=my_font) #rotation=90 旋转90度
plt.yticks(np.arange(0,15,0.5))#图例
plt.legend(prop=my_font,loc=1)#设置标题
plt.title("1999-2022年销售额",fontproperties=my_font)#设置x轴和y轴的表示信息
# plt.xlabel("月份",size=120,color="red")
plt.xlabel("月份",fontproperties=my_font,color="red")
plt.ylabel("销售额",fontproperties=my_font,color="blue")plt.savefig(r"C:\Users\jiang\Pictures\Saved Pictures\1299.png")plt.show()
使用的数据集:
matplotlib——散点图相关推荐
- python画散点图-从零开始学Python【15】--matplotlib(散点图)
原标题:从零开始学Python[15]--matplotlib(散点图) 往期matplotlib绘图系列前言 上一期中,我们通过折线图可以快速的发现时间序列的趋势图,当然他不仅仅只能用在时间序列中, ...
- Python Matplotlib散点图
Python Matplotlib散点图 散点图用于在水平轴和垂直轴上绘制数据点,它表示了因变量随自变量变化的趋势.通俗地讲,它反映的是一个变量受另一个变量的影响程度. 散点图将序列显示为一组点,其中 ...
- 【数据分析之道-Matplotlib(四)】Matplotlib散点图
文章目录 专栏导读 1.Matplotlib散点图语法 2.Matplotlib散点图设置图标大小 3.Matplotlib散点图自定义点颜色 4.Matplotlib散点图设置两组散点图 5.Mat ...
- python—matplotlib 散点图,气泡图,气泡饼图/功效矩阵可视化对比
python-matplotlib 散点图,气泡图,气泡饼图/功效矩阵可视化对比 刚入行,一直在看大神们的发帖学习,想着自己也写点什么东西,找了好久没找到气泡饼图相关的内容(可能是我眼神不好),于是打 ...
- matplotlib 散点图_Python学习 —— matplotlib绘制三维曲线图和三维散点图
1.数据类型部分如下: group A B CA-1 0 0 0.1273 A-1 20 12 0.1087 A-1 40 36 0.1313 A-1 60 24 0.0865 A-1 80 12 0 ...
- python matplotlib散点图-Matplotlib scatter绘制散点图的方法实现
前言 考虑到很多同学可能还没有安装matplotlib包,这里给大家提供我常用的安装方法.首先Win键 + R,输入命令cmd打开命令行工具,再次在命令行工具中输入pip install matplo ...
- python matplotlib散点图-python的matplotlib散点图
读完此片文章你将获得: 了解scatter函数的每个参数的含义: 掌握使用matplotlib画散点图的方法: 正文: 1.matplotlib的散点图函数: matplotlib.pyplot.sc ...
- python中的散点图代码-python – 带有图例的matplotlib散点图
我有兴趣在我的散点图中绘制一个图例.我目前的代码看起来像这样 x=[1,2,3,4] y=[5,6,7,8] classes = [2,4,4,2] plt.scatter(x, y, c=class ...
- python matplotlib散点图-python-Matplotlib散点图图例
2D散点图 可以使用2741191239738590590209模块的plot方法(至少在使用matplotlib 1.2.1和Python 2.7.5的情况下),如下面的示例代码所示. 另外,如果使 ...
- python matplotlib散点图-python matplotlib从函数更新散点图
Tyson 有几种方法可以设置matplotlib绘图的动画.下面让我们看两个使用散点图的最小示例. (a) 使用交互模式plt.ion() 要制作动画,我们需要一个事件循环.获取事件循环的一种方法是 ...
最新文章
- 我是Redis,MySQL大哥被我害惨了!
- saltstack之远程触发文件备份、回滚
- PHP+jQuery+Ajax实现用户登录与退出
- 轻松删除所有安装的gem
- 3.Android 优化布局(解决TextView布局)
- JMeter基础之-使用技巧
- 分页offset格式_Thinkphp5 原生sql分页操作
- Docker系统六:Docker网络管理
- vs2013 中HTML页 无法在设计窗口中查看的解决
- 大数据之_亿级分布式日志管理ELK_工作笔记001_ELK认识介绍
- 「大学生学编程系列」第六篇:如何学习C语言?
- [luoguP3606] [USACO17JAN]Building a Tall Barn建谷仓(贪心 + 线段树)
- springboot实现查询手机号归属地
- pgsql截取字符串函数_postgresql——字符串函数
- DIY无人机组装与飞控参数调试记录(DJI NAZA-LITE)
- 月入万元的乞丐谈营销
- iis 安装完ssl 证书谷歌浏览器还是提示不安全的解决方法
- 面试非常通用的四道送命题
- 软件工程小组项目——网上书店
- https安全证书提示证书风险怎么办
热门文章
- FastDFS下的storage服务启动卡住
- CentOS 7.4创建普通用户赋予登录权限
- 在Excel的单元格中,调用VBA函数
- linux对文件属性及权限操作的一些基本命令
- 新安装XCode7/XCode8 模拟器无法运行报-unable to boot the simulator解决方法
- Visual Studio 重新生成解决方案 无反映
- 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
- Java中Jedis连接Linux上的Redis出现connect time out(解决方案)
- System.IO.FileNotFoundException 找不到指定的模块问题解决
- Spring MVC异常处理详解