您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将图像应用于pyplot python条形图

将图像应用于pyplot python条形图

尽管matplotlib确实允许条形图中的阴影线,但AFAIK没有内置的方法来执行此操作。参见例如hatch_demo

但是plt.imshow,以条形图的形式组合多个调用并不困难。这是一个相当粗糙的函数,可以使用图像的标志思想将图像用作基本的条形图。

import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import imread

def image_plot(heights, images, spacing=0):
    # Iterate through images and data, autoscaling the width to
    # the aspect ratio of the image
    for i, (height, img) in enumerate(zip(heights, images)):
        AR = img.shape[1] / img.shape[0]
        width = height * AR
        left = width*i + spacing*i
        right = left + width
        plt.imshow(img, extent=[left, right, 0, height])
    # Set x,y limits on plot window
    plt.xlim(0, right)
    plt.ylim(0, max(heights)*1.1)

# Read in flag images
usa_flag = imread('american_flag.png')
aussie_flag = imread('australian_flag.png').swapaxes(0, 1)
turkish_flag = imread('turkish_flag.png').swapaxes(0, 1)

# Make up some data about each country
usa_data = 33
aussie_data = 36
turkish_data = 27

data = [usa_data, aussie_data, turkish_data]
flags = [usa_flag, aussie_flag, turkish_flag]

image_plot(data, flags, spacing=2)

在不对xy轴进行任何操作的情况下,返回此图。

在此处输入图片说明

python 2022/1/1 18:47:44 有333人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶