广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python matplotlib绘制散点图配置(万能模板案例)
  • 844
分享到

Python matplotlib绘制散点图配置(万能模板案例)

2024-04-02 19:04:59 844人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录散点图散点图一行代码显示加颜色的散点图颜色深浅表示数值大小散点图显示颜色和大小自定义图表散点图散点图万能模板其他模板散点图 散点图是指在 回归分析中,数据点在直角坐标系

散点图

散点图是指在 回归分析中,数据点在直角坐标系平面上的 分布图,散点图表示因变量随 自变量而 变化的大致趋势,据此可以选择合适的函数 对数据点进行 拟合。

用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点。值由点在 图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。

下面给出一个散点图的具体代码案例

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

plt.figure(figsize=(9,5), # (宽度 , 高度) 单位inch
dpi=120, # 清晰度 dot-per-inch
# facecolor='#CCCCCC', # 画布底色
# edgecolor='black',linewidth=0.2,frameon=True, # 画布边框
#frameon=False # 不要画布边框
)
# 设置全局中文字体
plt.rcParams['font.sans-serif'] = 'KaiTi' # 设置全局字体为中文 楷体
plt.rcParams['axes.unicode_minus'] = False # 不使用中文减号
#读取数据
crime=pd.read_csv("crimeRatesByState2005.csv")
print (list(crime.murder))#转化成列表
#删除state为United States的数据
crime2 = crime[crime.state != "United States"]
#删除state为District of Columbia的数据
crime2 = crime2[crime2.state != "District of Columbia" ]
z = list(crime2.population/10000)#取人口数据
#colors = np.random.rand(len(list(crime2.murder)))#根据谋杀率随机去颜色
cm = plt.cm.get_cmap('RdYlBu')#使用色谱RdYlBu
plt.scatter(list(crime2.murder), list(crime2.burglary), s=z,c=z,cmap = cm, linewidth = 0.5, alpha = 0.5)#绘制散点图
plt.xlabel("murder")
plt.ylabel("burglary")
plt.show()

散点图一行代码显示

# 读取数据
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['sepal_length']
y = df['sepal_width']
# 根据X,Y值画散点图
plt.scatter(x,y)

加颜色的散点图

# 读取数据
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['sepal_length']
y = df['sepal_width']
c = df['species'].map({'setosa':'r','versicolor':'g','virginica':'b'})
# 根据X,Y值画散点图, 用不同的颜色标识不同的分类
plt.scatter(x,y, c=c)

颜色深浅表示数值大小

# 读取数据
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['sepal_length']
y = df['sepal_width']
c = df['petal_length']
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度
plt.scatter(x,y, c=c, cmap=plt.cm.RdYlBu)

散点图显示颜色和大小

# 读取数据
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['sepal_length'] # x 轴坐标
y = df['sepal_width'] # y 轴坐标
c = df['petal_length'] # 颜色color
s = df['petal_width'] # 大小size
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度,用大小表示花萼的宽度
plt.figure(figsize=(5,5),dpi=100)
#plt.scatter(x,y, c=c, s=50) # 可以是标量,那么所有的点都一样
plt.scatter(x,y, c=c, s=s*30)

自定义图表散点图

# 读取数据
df = pd.read_csv('iris.csv')
def get_xycs(df):
# 平面坐标系的位置只能表示2维数据
x = df['sepal_length'] # x 轴坐标
y = df['sepal_width'] # y 轴坐标
c = df['petal_length'] # 颜色color
s = df['petal_width'] # 大小size
return x,y,c,s
markers = {'setosa':'o', 'versicolor':'D', 'virginica':'*'}
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度,用大小表示花萼的宽度, 每组数据只能是一种点样式
plt.figure(figsize=(5,5),dpi=100)
#plt.scatter(x,y, c=c, s=50) # 可以是标量,那么所有的点都一样
for sp in df['species'].unique():
x,y,c,s = get_xycs(df[df['species']==sp])
plt.scatter(x,y, c=c, s=s*30, cmap=plt.cm.seismic, marker=markers[sp],label=sp)
plt.legend()

散点图万能模板

# 读取数据
df = pd.read_csv('iris.csv')
def get_xycs(df):
# 平面坐标系的位置只能表示2维数据
x = df['sepal_length'] # x 轴坐标
y = df['sepal_width'] # y 轴坐标
c = df['petal_length'] # 颜色color
s = df['petal_width'] # 大小size
return x,y,c,s
markers = {'setosa':'o', 'versicolor':'D', 'virginica':'*'}
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度,用大小表示花萼的宽度, 每组数据只能是一种点样式
plt.figure(figsize=(5,5),dpi=100)
#plt.scatter(x,y, c=c, s=50) # 可以是标量,那么所有的点都一样
for sp in df['species'].unique():
x,y,c,s = get_xycs(df[df['species']==sp])
plt.scatter(x,y, s=s*30, cmap=plt.cm.seismic, marker=markers[sp],label=sp)
plt.legend()

其他模板

### 在二维坐标系上,位置表示(x,y)二维数据
x = df.sepal_length # x 表示花瓣长
y = df.sepal_width # y 表示花瓣宽
s = (df.petal_length * df.petal_width)*np.pi # s(size) 表示花萼面积
c = (df.petal_length * df.petal_width)*np.pi
plt.scatter(x,y,s=s*5, c=c,cmap=plt.cm.RdYlBu_r)
plt.xlabel('sepal_length')
plt.ylabel('sepal_width')

# 在二维坐标系上,位置表示(x,y)二维数据
x = df.sepal_length # x 表示花瓣长
y = df.sepal_width # y 表示花瓣宽
s = (df.petal_length * df.petal_width)*np.pi # s(size) 表示花萼面积
#print(df.species)
#colORMap = {"setosa":"#FF0000", "versicolor":"green", "virginica":"b"} # 定义一个字典将species字符串映射到颜色字符串上
colormap = {"setosa":1, "versicolor":5, "virginica":6} # 定义一个字典将species字符串映射到颜色字符串上
c = df.species.map(colormap)
#print(c)
plt.scatter(x,y,s=s*5, c=c,cmap=plt.cm.coolwarm, alpha=0.7, edgecolors='face')
plt.xlabel('sepal_length')
plt.ylabel('sepal_width')

plt.scatter(df['burglary'], df['larceny_theft'],
s=df['population']*2e-5,
c=df['motor_vehicle_theft'], cmap=plt.cm.coolwarm,
edgecolors='b',
alpha=0.75)

for idx,statename in df['state'].items():
plt.text(x=df['burglary'][idx],y=df['larceny_theft'][idx]-df['population'][idx]*2e-5*0.5,s=statename,fontsize=6,ha='center',va='top')

df.plot.scatter(x='burglary',y='larceny_theft',c='motor_vehicle_theft',cmap=plt.cm.coolwarm,s=df['population']*2e-5)
for i in df.index:
if i in top5_motor_theft_index: # 偷车贼最多的5个州
plt.text(df.loc[i,'burglary']+10, df.loc[i,'larceny_theft']-10, df.loc[i,'state'], color='red') # 一个文本框

到此这篇关于python matplotlib绘制散点图配置(万能模板案例)的文章就介绍到这了,更多相关Python matplotlib绘制散点图 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python matplotlib绘制散点图配置(万能模板案例)

本文链接: https://www.lsjlt.com/news/119247.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python matplotlib绘制散点图配置(万能模板案例)
    目录散点图散点图一行代码显示加颜色的散点图颜色深浅表示数值大小散点图显示颜色和大小自定义图表散点图散点图万能模板其他模板散点图 散点图是指在 回归分析中,数据点在直角坐标系...
    99+
    2022-11-11
  • matplotlib绘制饼图的基本配置(万能模板案例)
    目录饼图的概念 连接数据库绘制饼图案例(pandas画图)显示百分比饼图常见参数扇区分离饼图添加颜色添加阴影显示百分比控制起始角度将饼图放置在坐标轴双饼图显示饼图万能模板饼...
    99+
    2022-11-10
  • matplotlib绘制折线图的基本配置(万能模板案例)
    前面我们已经构造了一种图形可视化的模板了,下面我们直接使用这个模板进行增添和修改,进一步的改善图形的外观。 import matplotlib.pyplot as plt # 画...
    99+
    2022-11-10
  • matplotlib绘制雷达图的基本配置(万能模板案例)
    目录介绍应用场景案例一(成绩雷达图重叠)案例二(成绩雷达图左右图)极坐标介绍 雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法。轴的相对...
    99+
    2022-11-10
  • matplotlib绘制直方图的基本配置(万能模板案例)
    目录直方图介绍绘制直方图的参数(plt.hist())连接数据库进行直方图绘制案例使用dataframe里面的plot函数进行绘制(万能模板)绘制多个子图(多子图直方图案例模板)概率...
    99+
    2022-11-10
  • matplotlib绘制甘特图的万能模板案例
    目录定义一个绘制甘特图的类调用及数据格式类似于展示的图形定义一个绘制甘特图的类 # -*- coding: utf-8 -*- from datetime import date...
    99+
    2022-11-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作