python - 我可以更改点图上的一个标记大小吗?

标签 python matplotlib seaborn pointplot

使用 Seaborn 的 pointplot 我创建了以下图像:

pointplot

我想知道是否可以将每个标记的大小更改为唯一值。

该图像是通过调用制作的

sns.pointplot(x = 'Partying',
              y = 'Province', 
              ci =95,
              data = df, 
              join = False, 
              ax = ax,
              color = pal[2],


              )

我认为也许将数组传递到 scale 参数中会起作用,但事实并非如此。

最佳答案

不是通过seaborn API,但可以通过在绘图后操作 matplotlib 对象来实现 - 类似于:

import seaborn as sns
tips = sns.load_dataset("tips")

ax = sns.pointplot(x="tip", y="day", data=tips, join=False)
points = ax.collections[0]
size = points.get_sizes().item()
new_sizes = [size * 3 if name.get_text() == "Fri" else size for name in ax.get_yticklabels()]
points.set_sizes(new_sizes)

enter image description here

关于python - 我可以更改点图上的一个标记大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38496527/

相关文章:

python - 我可以在不转换相关数据的情况下在 matplotlib 中模拟轴的对数刻度吗?

python - odoo 10.0 中的日期添加

python - 为什么此代码不保存带有标题的图形?

matplotlib - 基于色调/调色板的条形图中的边缘颜色

python - 如何将数据从宽数据转换为长数据,以便根据时间绘制值

python - 在图中找不到轴实例参数

python - 多次快速切片 numpy 数组

python - 合并或加入 numpy 数组

python - DJANGO MEDIA_URL 返回同一页面而不是显示图像

python - 使补丁更大,用作 matplotlib 中的图例