Python绘制简单散点图的方法

散点图,顾名思义是一些散乱的点构成的图。那么这些散乱的点有什么作用呢?散点图通过用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。

绘制方法大体上与折线图一致,只是对点不需要去拟合折线,使用plt.scatter()函数替代plt.plot()即可。例如绘制三月份与十一月份的气温散点图,代码如下:

'''
    绘制散点图,要点:plt.scatter(x,y)
'''
# 导入模块
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\MSYHL.TTC")
 
# 输入变量数据(参数)
y_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
 
x_3 = range(1,32)
x_10 = range(51,82)
 
# 设置图形大小
plt.figure(figsize=(20,8),dpi=80)
 
# 使用scatter绘制散点图,和之前绘制折线图一样只用将plot更改成scatter
plt.scatter(x_3,y_3,label='3月份气温变化散点图')
plt.scatter(x_10,y_10,label='10月份气温变化散点图')
 
# 调整X轴的刻度
_x = list(x_3) + list(x_10)
_xtick_labels = ['3月{}日'.format(i) for i in x_3]
_xtick_labels += ['10月月{}日'.format(i-50) for i in x_10]
plt.xticks(_x[::3],_xtick_labels[::3],fontproperties = my_font,rotation=45)
 
# 添加描述信息
plt.xlabel('时间',fontproperties = my_font)
plt.ylabel('温度',fontproperties = my_font)
plt.title('三月气温和十月气温散点图',fontproperties = my_font)
 
# 添加图例
plt.legend(prop=my_font,loc='upper left')  # 要在绘制图像那一步添加标签
 
# 展示图形
plt.show()

运行结果如下:

画图方式与折线图大体一致,只是修改了拟合的方式。从图中能大体看出三月份气温呈现上升趋势,十一月份呈现下降趋势,且增长与下降幅度变化大体一致。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python Matplotlib实现三维数据的散点图绘制

    一.背景 近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo.选用Python2.7与Matplotlib来实现,平台采用Pycharm,值得一提的是,Matplotlib的安装前首先要安装Numpy包,但是在完成Numpy的安装之后,楼主不能在PyCharm平台下进行自动安装,或者CMD中使用类似pip install Matplotlib,参考网上解决方案后采用直接去官网下载相应的安装包直接运行安装到相关目录下.在此就不赘述了. 二. 参考 Python语言

  • Python+matplotlib绘制不同大小和颜色散点图实例

     具有不同标记颜色和大小的散点图演示. 演示结果: 实现代码: import numpy as np import matplotlib.pyplot as plt import matplotlib.cbook as cbook # Load a numpy record array from yahoo csv data with fields date, open, close, # volume, adj_close from the mpl-data/example directory

  • python学习之matplotlib绘制散点图实例

    要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" import matplotlib.pyplot as plt plt.scatter(2, 4) plt.show() 下面来设置输出的样式:添加标题,给轴加上标签,并确保所有文本都大到能够看清.并使用scatter()绘制一系列点 """使用scatter()绘制散点图&

  • python使用matplotlib模块绘制多条折线图、散点图

    今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体如下: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:折线图.散点图测试 ''' import random import matplotlib import matplotlib.pyplot as plt def list2mat(data_list,w): ''' 切片.转置 '

  • python绘制散点图并标记序号的方法

    实现二维平面上散点的绘制,并可以给每个散点标记序号或者名称: import numpy as np import matplotlib.pyplot as plt x=[2.3,4.5,3,7,6.5,4,5.3] y=[5,4,7,5,5.3,5.5,6.2] n=np.arange(7) fig,ax=plt.subplots() ax.scatter(x,y,c='r') for i,txt in enumerate(n): ax.annotate(txt,(x[i],y[i])) 以上这

  • python使用matplotlib画柱状图、散点图

    本文实例为大家分享了python使用matplotlib画柱状图.散点图的具体代码,供大家参考,具体内容如下 柱状图(plt.bar) 代码与注释 import numpy as np from matplotlib import pyplot as plt plt.figure(figsize=(9,6)) n = 8 X = np.arange(n)+1 #X是1,2,3,4,5,6,7,8,柱的个数 # numpy.random.uniform(low=0.0, high=1.0, siz

  • 在python中,使用scatter绘制散点图的实例

    如下所示: # coding=utf-8 import matplotlib.pyplot as plt x_values=[1,2,3,4,5] y_values=[1,4,9,16,25] # s为点的大小 plt.scatter(x_values,y_values,s=100) # 设置图表标题并给坐标轴加上标签 plt.title("Scatter pic",fontsize=24) plt.xlabel("Value",fontsize=14) plt.y

  • python scatter散点图用循环分类法加图例

    本文实例为大家分享了python scatter散点图用循环分类法加图例,供大家参考,具体内容如下 import matplotlib.pyplot as plt import kNN plt.rcParams['font.sans-serif']=['Simhei'] plt.rcParams['axes.unicode_minus']=False datingDataMat, datingLabels = kNN.file2matrix('datingTestSet2.txt') plt.f

  • python 画三维图像 曲面图和散点图的示例

    用python画图很多是根据z=f(x,y)来画图的,本博文将三个对应的坐标点输入画图: 散点图: import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.add_subplot(111, projection='3d') X = [1, 1, 2, 2] Y = [3, 4, 4, 3] Z = [1, 2, 1, 1] ax.scatter(X, Y

  • matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatterplot in 3D. ''' from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np def randrange(n, vmin, vmax): ''' Helper f

随机推荐