迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何在 Matplotlib 中设置散点图的标记大小

作者:迹忆客 最近更新:2023/03/17 浏览次数:

Matplotlib 中散点图中标记的大小由函数 scatter()s 关键字参数控制,其中 s 是标量或数组。

函数 scatter()s 关键字参数

scatter 函数的语法:

matplotlib.pyplot.scatter(x, y,
                          s=None,
                          c='b', 
                          marker='o', 
                          cmap=None, 
                          norm=None,
                          vmin=None, 
                          vmax=None, 
                          alpha=None, 
                          linewidths=None,
                          faceted=True, 
                          verts=None,
                          hold=None, 
                          **kwargs)

其中,s 是标量或长度与 xy 相同的数组,用于设置 markersize。默认标记大小为 rcParams['lines.markersize'] ** 2。根据文档,s 是标记大小的平方。

为所有点设置相同的标记大小

import numpy as np
import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y=np.sin(x)

plt.scatter(x,y,s=500,c='magenta')

plt.title('Scatter plot of sinx')
plt.xlabel('x')
plt.ylabel('sinx')
plt.xlim(0,6)
plt.ylim(-2,2)
plt.show()

均匀增加散点图的标记大小

不一致地增加点的标记大小

为了使标记的宽度(或高度)加倍,我们需要将 s 增加 4 倍,因为 A = W*H => (2W)*(2H)= 4A

import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [a**2 for a in x]
s = [10*4**n for n in range(len(x))]
plt.scatter(x,y,s=s)
plt.title('Doubling width of marker in scatter plot')
plt.xlabel('x')
plt.ylabel('x**2')
plt.xlim(0,6)
plt.ylim(0,30)
plt.show()

标记宽度加倍

要使标记的面积增加一倍,我们将 area 增加 2 倍,以便标记尺寸随 area 线性缩放。

import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [a**2 for a in x]
s = [10*2**n for n in range(len(x))]
plt.scatter(x,y,s=s)
plt.title('Doubling area of marker in scatter plot')
plt.xlabel('x')
plt.ylabel('x**2')
plt.xlim(0,6)
plt.ylim(0,30)
plt.show()

标记面积加倍

Matplotlib plot 方法中用 markersize 参数以控制大小

import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [0]*len(x)

plt.plot(x,y, 'bo', markersize=10)  
plt.show()

在这里,圆的面积由 markersize 参数控制。

markersize 参数以控制绘图方法中的大小

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便